I read it somewhere that Ravana's great-grandfather was Brahma, is that true? Are there any valid proof that proves this fact? Heard this for the first time. Got to know about this while researching about 'Shiva Tandava Stotram' which was written and sung by Ravana.
Yes, Ravana's great-grandfather is Brahma. Ravana's father is he sage Vishravas, whose father is the sage Pulastya, as described in this chapter of the Srimad Bhagavatam:
Pulastya begot in his wife, Havirbhū, one son of the name Agastya, who in his next birth became Dahrāgni. Besides him, Pulastya begot another very great and saintly son, whose name was Viśravā. Viśravā had two wives. The first wife was Iḍaviḍā, from whom Kuvera, the master of all Yakṣas, was born, and the next wife was named Keśinī, from whom three sons were born — Rāvaṇa, Kumbhakarṇa and Vibhīṣaṇa.
And Pulastya's father is Brahma, as described in another chapter of the Srimad Bhagavatam:
Brahmā, who was empowered by the Supreme Personality of Godhead, thought of generating living entities and begot ten sons for the extension of the generations. Marīci, Atri, Aṅgirā, Pulastya, Pulaha, Kratu, Bhṛgu, Vasiṣṭha, Dakṣa, and the tenth son, Nārada, were thus born. Nārada was born from the deliberation of Brahmā, which is the best part of the body. Vasiṣṭha was born from his breathing, Dakṣa from a thumb, Bhṛgu from his touch, and Kratu from his hand. Pulastya was generated from the ears, Aṅgirā from the mouth, Atri from the eyes, Marīci from the mind and Pulaha from the navel of Brahmā.
I am answering the main question as well as the one from the comments.
A Pishacha (ghostly cannibal) named Aj had a daughter Jantudhanaa. She married Rakshasa (giant cannibalistic younger son of Kashyapa and Khashaa) and had a daughter named Yatudhana. In turn, Yatudhana gave birth to Heti, Praheti and 8 others [Ref: Brahmanda Purana Upodghaata paada 7.43-90]. All her descendants are called Yatudhana-Rakshasas.
Heti’s descendants were Malyavan, Sumali and Mali. Kaikasi (daughter of Yatudhana-Rakshasa Sumali) seduced and married Vishrava (son of the pious Rishi Pulastya). Their children were Ravana, Kumbhakarana, Surphanka and Vibhishana [Ref: Ramayana 7.4-5, 7.9]. They and their descendants were the Kaikasi-Rakshasas or simply Rakshasas.
Thus, Ravana was a son of a Brahmin father and a Yatudhana-Rakshasa (hybrid descendant of a Pishacha and a Rakshasa) mother. Asura is a generic term for the opponents of Sura (demigod Devas). Ravana was on the side of adharma and always opposed the Devas.
Source: 'Essence of the Fifth Veda' by Gaurang Damani page 14.