Varsha Arya

145 papers B 3C 17Journal 93Unranked 32
YearRankTypeTitle / Venue / Authors
2026 J jnl
Enterp. Inf. Syst.
Brij B. Gupta, Shin-Hung Pan, Akshat Gaurav, Varsha Arya, Razaz Waheeb Attar, Amal Hassan Alhazmi, Ahmed Alhomoud, Kwok Tai Chui
2026 J jnl
Comput. Mater. Continua
Kwok Tai Chui, Varsha Arya, Brij B. Gupta, Miguel J. Torres-Ruiz, Razaz Waheeb Attar
2026 C conf
ICCE
Akshat Gaurav, Shin-Hung Pan, Varsha Arya, Ching-Hsien Hsu, Kwok Tai Chui, Brij B. Gupta
2026 C conf
ICCE
Varsha Arya, Akshat Gaurav, Priyanka Chaurasia, Kwok Tai Chui, Brij B. Gupta, Ramakrishnan Raman
2026 J jnl
SN Comput. Sci.
Bhoomika S. Horapeti, Mosiur Rahaman, Akshat Gaurav, Varsha Arya, Kwok Tai Chui, Brij B. Gupta
2026 J jnl
Comput. Electr. Eng.
Brij B. Gupta, Akshat Gaurav, Shin-Hung Pan, Varsha Arya, Wadee Alhalabi, Kwok Tai Chui, Ramakrishnan Raman, Nadia Nedjah
2026 C conf
ICCE
Akshat Gaurav, Varsha Arya, Jinsong Wu, Kwok Tai Chui, Brij B. Gupta
2026 J jnl
ICT Express
Brij B. Gupta, Shin-Hung Pan, Akshat Gaurav, Varsha Arya, Wadee Alhalabi, Kwok Tai Chui
2026 C conf
ICCE
Liang Zhou, Kwok Tai Chui, Akshat Gaurav, Brij B. Gupta, Varsha Arya
2026 J jnl
J. Syst. Archit.
Hamideh Fatemidokht, Marjan Kuchaki Rafsanjani, Varsha Arya, Brij B. Gupta
2026 C conf
ICCE
Liang Zhou, Akshat Gaurav, Varsha Arya, Meena Malik, Ching-Hsien Hsu, Kwok Tai Chui, Brij B. Gupta
2025 J jnl
Comput. Electr. Eng.
Brij B. Gupta, Akshat Gaurav, Razaz Waheeb Attar, Varsha Arya, Shavi Bansal, Ahmed Alhomoud, Kwok Tai Chui
2025 conf
ICC
Akshat Gaurav, Razaz Waheeb Attar, Varsha Arya, Arcangelo Castiglione, Kwok Tai Chui
2025 J jnl
Comput. Mater. Continua
Brij B. Gupta, Akshat Gaurav, Wadee Alhalabi, Varsha Arya, Shavi Bansal, Ching-Hsien Hsu
2025 J jnl
Int. J. Web Inf. Syst.
Vincent Shin-Hung Pan, Razaz Waheeb Attar, Amal Hassan Alhazmi, Ahmed Alhazmi, Varsha Arya, Ching-Hsien Hsu, Ahmed Alhomoud
2025 C conf
HPSR
Akshat Gaurav, Brij B. Gupta, Priyanka Chaurasia, Varsha Arya, Razaz Waheeb Attar, Kwok Tai Chui
2025 J jnl
J. Web Eng.
Ujjwal Thakur, Sunil K. Singh, Sudhakar Kumar, Harmanjot Singh, Varsha Arya, Brij B. Gupta, Razaz Waheeb Attar, Ahmed Alhomoud, Kwok Tai Chui
2025 J jnl
IEEE Trans. Consumer Electron.
Yun Xie, Peng Li, Jindan Zhang, Razaz Waheeb Attar, Varsha Arya, Brij B. Gupta
2025 J jnl
IEEE Internet Things Mag.
Geng Yu, Dengzhi Liu, Haowen Tan, M. Srinivasan, Varsha Arya, Brij B. Gupta
2025 J jnl
IEEE Commun. Stand. Mag.
Liang Zhou, Akshat Gaurav, Razaz Waheeb Attar, Ahmed Alhomoud, Varsha Arya, Brij B. Gupta
2025 B conf
IWCMC
Akshat Gaurav, Varsha Arya, Brij B. Gupta, Kwok Tai Chui
2025 J jnl
Enterp. Inf. Syst.
Brij B. Gupta, Akshat Gaurav, Varsha Arya, Prabin Kumar Panigrahi
2025 J jnl
IEEE Netw.
Qingru Ma, Jian Shen, Pandi Vijayakumar, Brij B. Gupta, Varsha Arya, Maheswari Mahalinghum
2025 J jnl
Int. J. Cloud Appl. Comput.
Iman Akour, Mohammad Alauthman, Ammar Almomani, Ramakrishnan Raman, Varsha Arya
2025 J jnl
Int. J. Web Inf. Syst.
Varsha Arya, Francesco Colace, Marco Lombardi, Angelo Lorusso, Domenico Santaniello, Carmine Valentino
2025 J jnl
Int. J. Data Warehous. Min.
Akshat Gaurav, Brij B. Gupta, Razaz Waheeb Attar, Varsha Arya, Ahmed Alhomoud, Mu-Yen Chen, Nadia Nedjah
2025 J jnl
Telecommun. Syst.
Akshat Gaurav, Vincent Shin-Hung Pan, Varsha Arya, Razaz Waheeb Attar, Amal Hassan Alhazmi, Ahmed Alhomoud, Brij B. Gupta, Kwok Tai Chui
2025 J jnl
ICT Express
Brij B. Gupta, Akshat Gaurav, Wadee Alhalabi, Varsha Arya, Eman Alharbi, Kwok Tai Chui
2025 C conf
WoWMoM
Akshat Gaurav, Varsha Arya, Kwok Tai Chui, Brij B. Gupta
2025 J jnl
Comput. Mater. Continua
Jitendra Kumar Samriya, Virendra Singh, Gourav Bathla, Meena Malik, Varsha Arya, Wadee Alhalabi, Brij B. Gupta
2025 J jnl
Telecommun. Syst.
Saket Sarin, Sunil K. Singh, Sudhakar Kumar, Shivam Goyal, Brij B. Gupta, Varsha Arya, Razaz Waheeb Attar, Shavi Bansal, Ahmed Alhomoud
2025 J jnl
Int. J. Cloud Appl. Comput.
Mohammad Alarqan, Bahari Belaton, Ammar Almomani, Mohammad Alauthman, Mohammed Azmi Al-Betar, Varsha Arya
2025 J jnl
Int. J. Web Inf. Syst.
Liang Zhou, Akshat Gaurav, Wadee S. Alhalabi, Varsha Arya, Eaman Alharbi
2025 J jnl
Int. J. Data Warehous. Min.
Alok Kumar, Utsav Upadhyay, Gajanand Sharma, Varsha Arya, Wadee Alhalabi, Bassma Saleh Alsulami, Brij B. Gupta
2025 C conf
WoWMoM
Brij B. Gupta, Akshat Gaurav, Varsha Arya, Kwok Tai Chui
2025 conf
INFOCOM WKSHPS
Akshat Gaurav, Brij B. Gupta, Liang Zhou, Varsha Arya, Ching-Hsien Hsu, Kwok Tai Chui
2025 J jnl
Neural Comput. Appl.
Sudhakar Kumar, Sunil K. Singh, Gopal Mengi, Animesh Singh, Arun Kumar Dubey, Brij B. Gupta, Wadee Alhalabi, Varsha Arya, Nadia Nedjah
2025 J jnl
Comput. Mater. Continua
Sunil K. Singh, Sudhakar Kumar, Manraj Singh, Savita Gupta, Razaz Waheeb Attar, Varsha Arya, Ahmed Alhomoud, Brij B. Gupta
2025 J jnl
IEEE Internet Things Mag.
Liang Zhou, Akshat Gaurav, Razaz Waheeb Attar, Varsha Arya, Ahmed Alhomoud, Kwok Tai Chui
2025 J jnl
IEEE Consumer Electron. Mag.
Liang Zhou, Akshat Gaurav, Varsha Arya, Razaz Waheeb Attar, Shavi Bansal, Ahmed Alhomoud
2025 J jnl
Enterp. Inf. Syst.
Brij B. Gupta, Akshat Gaurav, Varsha Arya, Razaz Waheeb Attar, Shavi Bansal, Ahmed Alhomoud, Kwok Tai Chui
2025 J jnl
Pattern Recognit. Lett.
Brij B. Gupta, Akshat Gaurav, Razaz Waheeb Attar, Varsha Arya, Ahmed Alhomoud
2025 C conf
ICCE
Brij B. Gupta, Akshat Gaurav, Shavi Bansal, Jinsong Wu, Varsha Arya, Kwok Tai Chui
2025 J jnl
IET Networks
Hardik Gupta, Sunil K. Singh, Sudhakar Kumar, Sunil K. Sharma, Hardeep Saini, Brij B. Gupta, Varsha Arya, Kwok Tai Chui
2024 J jnl
IEEE Internet Things J.
Huijie Yang, Wenying Zheng, Tao Zhang, Pandi Vijayakumar, Brij B. Gupta, Varsha Arya, Mary Subaja Christo
2024 J jnl
Comput. Mater. Continua
Brij B. Gupta, Akshat Gaurav, Razaz Waheeb Attar, Varsha Arya, Shavi Bansal, Ahmed Alhomoud, Kwok Tai Chui
2024 J jnl
Enterp. Inf. Syst.
Sunil K. Singh, Saksham Gupta, Sudhakar Kumar, Brij B. Gupta, Wadee Alhalabi, Varsha Arya, Justin Zhang
2024 J jnl
Enterp. Inf. Syst.
Utsav Upadhyay, Alok Kumar, Gajanand Sharma, Satyajeet Sharma, Varsha Arya, Prabin Kumar Panigrahi, Brij B. Gupta
2024 J jnl
J. Ind. Inf. Integr.
Brij B. Gupta, Akshat Gaurav, Varsha Arya, Razaz Waheeb Attar
2024 C conf
ICCE
Brij B. Gupta, Akshat Gaurav, Kwok Tai Chui, Varsha Arya, Chang Choi
2024 conf
INFOCOM (Workshops)
Brij B. Gupta, Akshat Gaurav, Kwok Tai Chui, Varsha Arya, Jinsong Wu
2024 J jnl
Comput. Mater. Continua
Brij B. Gupta, Ahmed Alhomoud, Kwok Tai Chui, Akshat Gaurav, Varsha Arya, Razaz Waheeb Attar, Shavi Bansal
2024 J jnl
Int. J. Intell. Networks
Brij B. Gupta, Akshat Gaurav, Varsha Arya
2024 J jnl
IEEE Access
Brij B. Gupta, Akshat Gaurav, Kwok Tai Chui, Varsha Arya
2024 conf
ICC
Brij B. Gupta, Akshat Gaurav, Jinsong Wu, Varsha Arya, Kwok Tai Chui
2024 C conf
ICCE
Brij B. Gupta, Akshat Gaurav, Kwok Tai Chui, Varsha Arya
2024 conf
CCGridW
Brij B. Gupta, Akshat Gaurav, Varsha Arya, Kwok Tai Chui
2024 J jnl
Int. J. Web Inf. Syst.
Zhou Li, Jiajia Li, Gengming Xie, Varsha Arya, Hao Li
2024 C conf
ICCE
Akshat Gaurav, Brij B. Gupta, Kwok Tai Chui, Varsha Arya
2024 conf
ICC Workshops
Akshat Gaurav, Brij B. Gupta, Kwok Tai Chui, Varsha Arya, Jinsong Wu
2024 J jnl
Int. J. Web Inf. Syst.
Liang Zhou, Akshat Gaurav, Varsha Arya, Razaz Waheeb Attar, Shavi Bansal, Ahmed Alhomoud
2024 J jnl
Comput. Electr. Eng.
Brij B. Gupta, Akshat Gaurav, Varsha Arya, Wadee Alhalabi, Dheyaaldin Alsalman, Pandi Vijayakumar
2024 J jnl
Int. J. Web Inf. Syst.
Wang Xian, Guomin Chen, Varsha Arya, Kwok Tai Chui
2024 conf
GLOBECOM (Workshops)
Akshat Gaurav, Brij B. Gupta, Jinsong Wu, Varsha Arya, Kwok Tai Chui
2024 J jnl
Int. J. Web Inf. Syst.
Varsha Arya, Razaz Waheeb Attar, Ahmed Alhomoud, Mario Casillo, Francesco Colace, Dajana Conte, Marco Lombardi, Domenico Santaniello, Carmine Valentino
2024 J jnl
Appl. Soft Comput.
Brij B. Gupta, Akshat Gaurav, Varsha Arya
2024 J jnl
IEEE Trans. Green Commun. Netw.
Fan Wu, Xiong Li, Jingwei Li, Pandi Vijayakumar, Brij B. Gupta, Varsha Arya
2024 conf
CyberSciTech
Shivam Goyal, Sudhakar Kumar, Sunil K. Singh, Brij B. Gupta, Varsha Arya, Kwok Tai Chui
2024 J jnl
J. High Speed Networks
Aishita Sharma, Sunil K. Singh, Sudhakar Kumar, Ruchika Thakur, Brij B. Gupta, Varsha Arya
2024 conf
GLOBECOM (Workshops)
Akshat Gaurav, Brij B. Gupta, Jinsong Wu, Varsha Arya, Kwok Tai Chui
2024 conf
ANT/EDI40
Sudhakar Kumar, Sunil K. Singh, Ayushi, Vanshika Chilkoti, Varsha Arya, Kwok Tai Chui, Brij B. Gupta
2024 J jnl
Int. J. Cloud Appl. Comput.
Utsav Upadhyay, Alok Kumar, Gajanand Sharma, Ashok Kumar Saini, Varsha Arya, Akshat Gaurav, Kwok Tai Chui
2024 J jnl
Cyber Secur. Appl.
Tarun Vats, Sudhakar Kumar, Sunil K. Singh, Uday Madan, Mehak Preet, Varsha Arya, Ritika Bansal, Ammar Almomani
2024 J jnl
Enterp. Inf. Syst.
Brij B. Gupta, Akshat Gaurav, Varsha Arya
2024 conf
ICC Workshops
Akshat Gaurav, Brij B. Gupta, Kwok Tai Chui, Varsha Arya, Jinsong Wu
2024 J jnl
Int. J. Web Inf. Syst.
Akshat Gaurav, Kwok Tai Chui, Varsha Arya, Razaz Waheeb Attar, Shavi Bansal, Ahmed Alhomoud, Konstantinos E. Psannis
2024 J jnl
Comput. Mater. Continua
Brij Bhooshan Gupta, Akshat Gaurav, Razaz Waheeb Attar, Varsha Arya, Ahmed Alhomoud, Kwok Tai Chui
2024 conf
GLOBECOM (Workshops)
Akshat Gaurav, Brij B. Gupta, Jinsong Wu, Varsha Arya, Kwok Tai Chui
2024 conf
GLOBECOM (Workshops)
Akshat Gaurav, Brij B. Gupta, Jinsong Wu, Varsha Arya, Priyanka Chaurasia, Kwok Tai Chui
2024 J jnl
Future Gener. Comput. Syst.
Shizhen Bai, Songlin Shi, Chunjia Han, Mu Yang, Brij B. Gupta, Varsha Arya
2024 C conf
ICCE
Aishita Sharma, Sunil K. Singh, Sudhakar Kumar, Mehak Preet, Brij B. Gupta, Varsha Arya, Kwok Tai Chui
2024 J jnl
IET Cyper-Phys. Syst.: Theory & Appl.
Saket Sarin, Sunil K. Singh, Sudhakar Kumar, Shivam Goyal, Brij B. Gupta, Varsha Arya, Kwok Tai Chui
2024 conf
ICC Workshops
Akshat Gaurav, Brij B. Gupta, Kwok Tai Chui, Varsha Arya, Jinsong Wu
2024 J jnl
IEEE Trans. Consumer Electron.
Brij B. Gupta, Akshat Gaurav, Varsha Arya
2024 J jnl
Cyber Secur. Appl.
Mosiur Rahaman, Farhin Tabassum, Varsha Arya, Ritika Bansal
2024 conf
VTC Spring
Brij B. Gupta, Akshat Gaurav, Kwok Tai Chui, Varsha Arya, Jinsong Wu
2024 J jnl
Cyber Secur. Appl.
Himanshu Setia, Amit Chhabra, Sunil K. Singh, Sudhakar Kumar, Sarita Sharma, Varsha Arya, Brij B. Gupta, Jinsong Wu
2024 J jnl
Int. J. Web Inf. Syst.
Xuemiao Chen, Varsha Arya
2024 J jnl
IEEE Trans. Consumer Electron.
Tao Zhang, Jian Shen, Huijie Yang, Pandi Vijayakumar, Brij B. Gupta, Varsha Arya
2024 J jnl
Soft Comput.
Shivam Goyal, Sudhakar Kumar, Sunil K. Singh, Saket Sarin, Priyanshu, Brij B. Gupta, Varsha Arya, Wadee Alhalabi, Francesco Colace
2024 C conf
ICCE
Anureet Chhabra, Sunil K. Singh, Akash Sharma, Sudhakar Kumar, Brij B. Gupta, Varsha Arya, Kwok Tai Chui
2024 J jnl
Comput. Mater. Continua
Saket Sarin, Sunil Kr. Singh, Sudhakar Kumar, Shivam Goyal, Brij Bhooshan Gupta, Wadee Alhalabi, Varsha Arya
2024 conf
ICC
Akshat Gaurav, Brij B. Gupta, Kwok Tai Chui, Varsha Arya
2024 J jnl
IEEE Trans. Comput. Soc. Syst.
Shizhen Bai, Yongbo Tan, Chunjia Han, Mu Yang, Brij B. Gupta, Varsha Arya, Neeraj Kumar
2023 conf
GCCE
Akshat Gaurav, Brij B. Gupta, Kwok Tai Chui, Varsha Arya, Elhadj Benkhelifa
2023 conf
RACS
Brij B. Gupta, Akshat Gaurav, Varsha Arya, Pankoo Kim
2023 J jnl
Int. J. Semantic Web Inf. Syst.
Tiantian Zhang, Zhiyong Zhang, Kejing Zhao, Brij B. Gupta, Varsha Arya
2023 J jnl
Int. J. Softw. Sci. Comput. Intell.
Akash Sharma, Sunil K. Singh, Anureet Chhabra, Sudhakar Kumar, Varsha Arya, Massoud Moslehpour
2023 J jnl
Sensors
Brij B. Gupta, Kwok Tai Chui, Akshat Gaurav, Varsha Arya, Priyanka Chaurasia
2023 J jnl
Int. J. Semantic Web Inf. Syst.
Nigang Sun, Junlong Li, Yining Liu, Varsha Arya
2023 B conf
GLOBECOM
Brij B. Gupta, Akshat Gaurav, Kwok Tai Chui, Varsha Arya, Jinsong Wu, Elhadj Benkhelifa
2023 J jnl
Inf.
Kwok Tai Chui, Brij B. Gupta, Jiaqi Liu, Varsha Arya, Nadia Nedjah, Ammar Almomani, Priyanka Chaurasia
2023 conf
VTC Fall
Akshat Gaurav, Brij B. Gupta, Varsha Arya, Kwok Tai Chui, Francisco José García-Peñalvo
2023 J jnl
Int. J. Cloud Appl. Comput.
Kamlesh Lakhwani, Gajanand Sharma, Ramandeep Sandhu, Naresh Kumar Nagwani, Sandeep Bhargava, Varsha Arya, Ammar Almomani
2023 J jnl
Enterp. Inf. Syst.
Brij Bhooshan Gupta, Akshat Gaurav, Prabin Kumar Panigrahi, Varsha Arya
2023 J jnl
J. Glob. Inf. Manag.
Ashish Singla, Nakul Gupta, Prageet Aeron, Anshul Jain, Ruchi Garg, Divya Sharma, Brij B. Gupta, Varsha Arya
2023 J jnl
Sensors
Nadia Nedjah, Alexandre de Vasconcelos Cardoso, Yuri Marchetti Tavares, Luiza de Macedo Mourelle, Brij Bhooshan Gupta, Varsha Arya
2023 J jnl
J. Glob. Inf. Manag.
Utsav Upadhyay, Alok Kumar, Gajanand Sharma, Brij B. Gupta, Wadee Alhalabi, Varsha Arya, Kwok Tai Chui
2023 C conf
ICCE
Brij B. Gupta, Akshat Gaurav, Kwok Tai Chui, Le Wang, Varsha Arya, Anupam Shukla, Dragan Perakovic
2023 conf
VTC Fall
Brij B. Gupta, Kwok Tai Chui, Akshat Gaurav, Varsha Arya
2023 conf
ICCE-Berlin
Akshat Gaurav, Brij B. Gupta, Kwok Tai Chui, Varsha Arya, Priyanka Chaurasia
2023 conf
CSoNet
Akshat Gaurav, Brij B. Gupta, Kwok Tai Chui, Varsha Arya
2023 J jnl
Inf. Sci.
Ying Tian, Haowen Tan, Jian Shen, Pandi Vijayakumar, Brij B. Gupta, Varsha Arya
2023 conf
ICIMMI
Manya Girdhar, Sunil K. Singh, Sudhakar Kumar, Deepak Mahto, Sunil K. Sharma, Brij B. Gupta, Varsha Arya, Kwok Tai Chui
2023 J jnl
Int. J. Semantic Web Inf. Syst.
Qiuying Li, Xiaodong Li, Kwok Tai Chui, Varsha Arya
2023 conf
ICCE-Berlin
Saket Sarin, Sunil K. Singh, Sudhakar Kumar, Shivam Goyal, Brij B. Gupta, Varsha Arya, Kwok Tai Chui
2023 C conf
ICCE
Akash Sharma, Sunil K. Singh, Eshita Badwal, Sudhakar Kumar, Brij B. Gupta, Varsha Arya, Kwok Tai Chui, Domenico Santaniello
2023 conf
ICCE-Berlin
Brij B. Gupta, Kwok Tai Chui, Akshat Gaurav, Varsha Arya
2023 conf
ICIMMI
Shivam Goyal, Sunil K. Singh, Sudhakar Kumar, Saket Sarin, Brij B. Gupta, Varsha Arya, Kwok Tai Chui
2023 conf
RACS
Akshat Gaurav, Varsha Arya, Kwok Tai Chui, Brij B. Gupta, Chang Choi, O-Joun Lee
2023 C conf
ICCE
Aarushi Sethi, Kwok Tai Chui, Brij B. Gupta, Varsha Arya, Aniello Castiglione, Justin Zhang
2023 J jnl
Int. J. Semantic Web Inf. Syst.
Meena Malik, Chander Prabha, Punit Soni, Varsha Arya, Wadee Al-Halabi, Brij B. Gupta, Aiiad Ahmad Albeshri, Ammar Almomani
2023 B conf
GLOBECOM
Brij B. Gupta, Akshat Gaurav, Varsha Arya, Kwok Tai Chui
2023 J jnl
Int. J. Semantic Web Inf. Syst.
Wadee Alhalabi, Akshat Gaurav, Varsha Arya, Ikhlas F. Zamzami, Rania Anwar Aboalela
2023 J jnl
Int. J. Intell. Syst.
Kwok Tai Chui, Brij B. Gupta, Rutvij H. Jhaveri, Hao Ran Chi, Varsha Arya, Ammar Almomani, Ali Nauman
2023 conf
EDGE
Brij B. Gupta, Akshat Gaurav, Kwok Tai Chui, Varsha Arya
2023 conf
GCCE
Brij B. Gupta, Akshat Gaurav, Varsha Arya, Kwok Tai Chui
2023 J jnl
Int. J. Semantic Web Inf. Syst.
Mohammad Al Khaldy, Abdelraouf Ishtaiwi, Ahmad Al-Qerem, Amjad Aldweesh, Mohammad Alauthman, Ammar Almomani, Varsha Arya
2023 conf
ANTS
Brij B. Gupta, Akshat Gaurav, Kwok Tai Chui, Varsha Arya
2023 J jnl
Comput. Electr. Eng.
Prakash Chandra Sharma, Md Rashid Mahmood, Hiral Raja, Narendra Singh Yadav, Brij B. Gupta, Varsha Arya
2023 J jnl
Int. J. Semantic Web Inf. Syst.
Zhou Li, Gengming Xie, Varsha Arya, Kwok Tai Chui
2023 J jnl
Int. J. Intell. Networks
Kwok Tai Chui, Brij B. Gupta, Priyanka Chaurasia, Varsha Arya, Ammar Almomani, Wadee Alhalabi
2023 J jnl
Int. J. Semantic Web Inf. Syst.
Chun-Yuan Lin, Mosiur Rahaman, Massoud Moslehpour, Sourasis Chattopadhyay, Varsha Arya
2022 J jnl
Int. J. Cloud Appl. Comput.
Kuldeep Pathoee, Deepesh Rawat, Anupama Mishra, Varsha Arya, Marjan Kuchaki Rafsanjani, Avadhesh Kumar Gupta
2022 J jnl
Int. J. Cloud Appl. Comput.
Bineet Kumar Joshi, Bansidhar Joshi, Anupama Mishra, Varsha Arya, Avadhesh Kumar Gupta, Dragan Perakovic
2022 conf
DataCom
Brij B. Gupta, Kwok Tai Chui, Varsha Arya, Akshat Gaurav
2022 J jnl
Int. J. Softw. Sci. Comput. Intell.
Deepak Srivastava, Kwok Tai Chui, Varsha Arya, Francisco José García-Peñalvo, Pramod Kumar, Anuj Kumar Singh
2022 J jnl
Int. J. Cloud Appl. Comput.
Ravindra Kumar Singh Rajput, Dinesh Goyal, Anjali Pant, Gajanand Sharma, Varsha Arya, Marjan Kuchaki Rafsanjani
2022 J jnl
Int. J. Softw. Sci. Comput. Intell.
Anupama Mishra, Bineet Kumar Joshi, Varsha Arya, Avadhesh Kumar Gupta, Kwok Tai Chui
2022 conf
DataCom
Varsha Arya, Akshat Gaurav, Brij B. Gupta, Ching-Hsien Hsu, Hojjat Baghban
2022 J jnl
Int. J. Cloud Appl. Comput.
Sarvesh Kumar, Surendra Kumar, Nikhil Ranjan, Shivam Tiwari, T. Rajesh Kumar, Dinesh Goyal, Gajanand Sharma, Varsha Arya, Marjan Kuchaki Rafsanjani
2022 J jnl
Int. J. Cloud Appl. Comput.
Francisco José García-Peñalvo, Akash Sharma, Anureet Chhabra, Sunil K. Singh, Sudhakar Kumar, Varsha Arya, Akshat Gaurav
2022 J jnl
Int. J. Cloud Appl. Comput.
Deepak Srivastava, Ajay Kumar, Anupama Mishra, Varsha Arya, Ammar Almomani, Ching-Hsien Hsu, Domenico Santaniello
2022 J jnl
Int. J. Softw. Sci. Comput. Intell.
Francisco José García-Peñalvo, Tamanna Maan, Sunil K. Singh, Sudhakar Kumar, Varsha Arya, Kwok Tai Chui, Gaurav Pratap Singh
2022 J jnl
Int. J. Cloud Appl. Comput.
Kwok Tai Chui, Tanveer Singh Kochhar, Amit Chhabra, Sunil K. Singh, Deepinder Singh, Dragan Perakovic, Ammar Almomani, Varsha Arya
redb/ext/spoof_check.py
← Index redb/ext/spoof_check.py python
import copy
import struct
from enum import Enum

"""
Checks that the metadata within a file's Rich header does not contradict the
other metadata contained within it.

References:
    https://gist.github.com/skochinsky/07c8e95e33d9429d81a75622b5d24c8b
    https://www.sec.in.tum.de/i20/publications/finding-the-needle-a-study-of-
    the-pe32-rich-header-and-respective-malware-triage
"""

KNOWN_PRODUCT_IDS = {
    0: "Unknown",
    1: "Import0",
    2: "Linker510",
    3: "Cvtomf510",
    4: "Linker600",
    5: "Cvtomf600",
    6: "Cvtres500",
    7: "Utc11_Basic",
    8: "Utc11_C",
    9: "Utc12_Basic",
    10: "Utc12_C",
    11: "Utc12_CPP",
    12: "AliasObj60",
    13: "VisualBasic60",
    14: "Masm613",
    15: "Masm710",
    16: "Linker511",
    17: "Cvtomf511",
    18: "Masm614",
    19: "Linker512",
    20: "Cvtomf512",
    21: "Utc12_C_Std",
    22: "Utc12_CPP_Std",
    23: "Utc12_C_Book",
    24: "Utc12_CPP_Book",
    25: "Implib700",
    26: "Cvtomf700",
    27: "Utc13_Basic",
    28: "Utc13_C",
    29: "Utc13_CPP",
    30: "Linker610",
    31: "Cvtomf610",
    32: "Linker601",
    33: "Cvtomf601",
    34: "Utc12_1_Basic",
    35: "Utc12_1_C",
    36: "Utc12_1_CPP",
    37: "Linker620",
    38: "Cvtomf620",
    39: "AliasObj70",
    40: "Linker621",
    41: "Cvtomf621",
    42: "Masm615",
    43: "Utc13_LTCG_C",
    44: "Utc13_LTCG_CPP",
    45: "Masm620",
    46: "ILAsm100",
    47: "Utc12_2_Basic",
    48: "Utc12_2_C",
    49: "Utc12_2_CPP",
    50: "Utc12_2_C_Std",
    51: "Utc12_2_CPP_Std",
    52: "Utc12_2_C_Book",
    53: "Utc12_2_CPP_Book",
    54: "Implib622",
    55: "Cvtomf622",
    56: "Cvtres501",
    57: "Utc13_C_Std",
    58: "Utc13_CPP_Std",
    59: "Cvtpgd1300",
    60: "Linker622",
    61: "Linker700",
    62: "Export622",
    63: "Export700",
    64: "Masm700",
    65: "Utc13_POGO_I_C",
    66: "Utc13_POGO_I_CPP",
    67: "Utc13_POGO_O_C",
    68: "Utc13_POGO_O_CPP",
    69: "Cvtres700",
    70: "Cvtres710p",
    71: "Linker710p",
    72: "Cvtomf710p",
    73: "Export710p",
    74: "Implib710p",
    75: "Masm710p",
    76: "Utc1310p_C",
    77: "Utc1310p_CPP",
    78: "Utc1310p_C_Std",
    79: "Utc1310p_CPP_Std",
    80: "Utc1310p_LTCG_C",
    81: "Utc1310p_LTCG_CPP",
    82: "Utc1310p_POGO_I_C",
    83: "Utc1310p_POGO_I_CPP",
    84: "Utc1310p_POGO_O_C",
    85: "Utc1310p_POGO_O_CPP",
    86: "Linker624",
    87: "Cvtomf624",
    88: "Export624",
    89: "Implib624",
    90: "Linker710",
    91: "Cvtomf710",
    92: "Export710",
    93: "Implib710",
    94: "Cvtres710",
    95: "Utc1310_C",
    96: "Utc1310_CPP",
    97: "Utc1310_C_Std",
    98: "Utc1310_CPP_Std",
    99: "Utc1310_LTCG_C",
    100: "Utc1310_LTCG_CPP",
    101: "Utc1310_POGO_I_C",
    102: "Utc1310_POGO_I_CPP",
    103: "Utc1310_POGO_O_C",
    104: "Utc1310_POGO_O_CPP",
    105: "AliasObj710",
    106: "AliasObj710p",
    107: "Cvtpgd1310",
    108: "Cvtpgd1310p",
    109: "Utc1400_C",
    110: "Utc1400_CPP",
    111: "Utc1400_C_Std",
    112: "Utc1400_CPP_Std",
    113: "Utc1400_LTCG_C",
    114: "Utc1400_LTCG_CPP",
    115: "Utc1400_POGO_I_C",
    116: "Utc1400_POGO_I_CPP",
    117: "Utc1400_POGO_O_C",
    118: "Utc1400_POGO_O_CPP",
    119: "Cvtpgd1400",
    120: "Linker800",
    121: "Cvtomf800",
    122: "Export800",
    123: "Implib800",
    124: "Cvtres800",
    125: "Masm800",
    126: "AliasObj800",
    127: "PhoenixPrerelease",
    128: "Utc1400_CVTCIL_C",
    129: "Utc1400_CVTCIL_CPP",
    130: "Utc1400_LTCG_MSIL",
    131: "Utc1500_C",
    132: "Utc1500_CPP",
    133: "Utc1500_C_Std",
    134: "Utc1500_CPP_Std",
    135: "Utc1500_CVTCIL_C",
    136: "Utc1500_CVTCIL_CPP",
    137: "Utc1500_LTCG_C",
    138: "Utc1500_LTCG_CPP",
    139: "Utc1500_LTCG_MSIL",
    140: "Utc1500_POGO_I_C",
    141: "Utc1500_POGO_I_CPP",
    142: "Utc1500_POGO_O_C",
    143: "Utc1500_POGO_O_CPP",
    144: "Cvtpgd1500",
    145: "Linker900",
    146: "Export900",
    147: "Implib900",
    148: "Cvtres900",
    149: "Masm900",
    150: "AliasObj900",
    151: "Resource900",
    152: "AliasObj1000",
    154: "Cvtres1000",
    155: "Export1000",
    156: "Implib1000",
    157: "Linker1000",
    158: "Masm1000",
    170: "Utc1600_C",
    171: "Utc1600_CPP",
    172: "Utc1600_CVTCIL_C",
    173: "Utc1600_CVTCIL_CPP",
    174: "Utc1600_LTCG_C ",
    175: "Utc1600_LTCG_CPP",
    176: "Utc1600_LTCG_MSIL",
    177: "Utc1600_POGO_I_C",
    178: "Utc1600_POGO_I_CPP",
    179: "Utc1600_POGO_O_C",
    180: "Utc1600_POGO_O_CPP",
    183: "Linker1010",
    184: "Export1010",
    185: "Implib1010",
    186: "Cvtres1010",
    187: "Masm1010",
    188: "AliasObj1010",
    199: "AliasObj1100",
    201: "Cvtres1100",
    202: "Export1100",
    203: "Implib1100",
    204: "Linker1100",
    205: "Masm1100",
    206: "Utc1700_C",
    207: "Utc1700_CPP",
    208: "Utc1700_CVTCIL_C",
    209: "Utc1700_CVTCIL_CPP",
    210: "Utc1700_LTCG_C ",
    211: "Utc1700_LTCG_CPP",
    212: "Utc1700_LTCG_MSIL",
    213: "Utc1700_POGO_I_C",
    214: "Utc1700_POGO_I_CPP",
    215: "Utc1700_POGO_O_C",
    216: "Utc1700_POGO_O_CPP",
    219: "Cvtres1200",
    220: "Export1200",
    221: "Implib1200",
    222: "Linker1200",
    223: "Masm1200",
    # Speculation
    224: "AliasObj1200",
    237: "Cvtres1210",
    238: "Export1210",
    239: "Implib1210",
    240: "Linker1210",
    241: "Masm1210",
    # Speculation
    242: "Utc1810_C",
    243: "Utc1810_CPP",
    244: "Utc1810_CVTCIL_C",
    245: "Utc1810_CVTCIL_CPP",
    246: "Utc1810_LTCG_C ",
    247: "Utc1810_LTCG_CPP",
    248: "Utc1810_LTCG_MSIL",
    249: "Utc1810_POGO_I_C",
    250: "Utc1810_POGO_I_CPP",
    251: "Utc1810_POGO_O_C",
    252: "Utc1810_POGO_O_CPP",
    255: "Cvtres1400",
    256: "Export1400",
    257: "Implib1400",
    258: "Linker1400",
    259: "Masm1400",
    260: "Utc1900_C",
    261: "Utc1900_CPP",
    # Speculation
    262: "Utc1900_CVTCIL_C",
    263: "Utc1900_CVTCIL_CPP",
    264: "Utc1900_LTCG_C ",
    265: "Utc1900_LTCG_CPP",
    266: "Utc1900_LTCG_MSIL",
    267: "Utc1900_POGO_I_C",
    268: "Utc1900_POGO_I_CPP",
    269: "Utc1900_POGO_O_C",
    270: "Utc1900_POGO_O_CPP",
}


class Result(Enum):
    VALID = 0
    INVALID = 1
    UNABLE_TO_PARSE = 2


def _rol(val, num):
    """Rotates val to the left by num bits."""
    return ((val << (num % 32)) & 0xFFFFFFFF) | (val >> (32 - (num % 32)))


def checksum_test(pe, rich_header):
    """Tests that the Rich header checksum is valid.

    Computes what the Rich header checksum should be. If the Rich header
    contains a different checksum value, this function returns INVALID
    This indicates that either the Rich header or MS-DOS stub has been modified

    The Rich header checksum is computed from the following:
        Length of the MS-DOS stub
        Contents of the MS-DOS stub, with e_lfanew zeroed out
        Rich header @Comp.IDs and lowest 5 bits of each count
    """
    if rich_header is None:
        rich_header = {}
    # Checksum stored in Rich header
    rich_checksum = rich_header.get("checksum", None)

    # Get DOS header data
    if pe.DOS_HEADER.e_lfanew > len(pe.__data__):
        return Result.UNABLE_TO_PARSE
    data = pe.__data__[: pe.DOS_HEADER.e_lfanew]

    # Get start marker
    mask = 0x536E6144  # DanS (little-endian)
    start_marker = struct.pack(
        "<LLLL", rich_checksum ^ mask, rich_checksum, rich_checksum, rich_checksum
    )
    if not len(start_marker):
        return Result.UNABLE_TO_PARSE

    # Get index of start marker
    start_index = data.find(start_marker)
    if start_index == -1:
        return Result.UNABLE_TO_PARSE

    # Get list of @Comp.IDs and counts from Rich header
    # Elements in rich_fields at even indices are @Comp.IDs
    # Elements in rich_fields at odd indices are counts
    rich_fields = copy.deepcopy(rich_header.get("values", None))
    if len(rich_fields) % 2 != 0:
        return Result.UNABLE_TO_PARSE

    # Compute cd as MS-DOS stub portion of checksum
    # Zero out e_lfanew from 0x3c to 0x3f
    cd = 0
    for i in range(start_index):
        if i >= 0x3C and i <= 0x3F:
            cd += _rol(0, i)
        else:
            cd += _rol(data[i], i)

    # Compute cd as Rich header portion of checksum
    cr = 0
    while len(rich_fields):
        compid = rich_fields.pop(0)
        count = rich_fields.pop(0)
        cr += _rol(compid, count & 0x1F)

    # Compute checksum from MS-DOS stub start index, cd, cr
    # Only keep lowest 32 bits
    checksum = (start_index + cd + cr) & 0xFFFFFFFF

    # Compare computed checksum with the checksum in the Rich header
    if checksum != rich_checksum:
        return Result.INVALID
    else:
        return Result.VALID


def duplicate_test(pe, rich_header):
    """Checks for duplicate @Comp.IDs in the Rich header.

    If the Rich header contains duplicate entries, returns INVALID
    This indicates that the Rich header has been modified
    """
    if rich_header is None:
        rich_header = {}

    # Get list of @Comp.IDs and counts from Rich header
    # Elements in rich_fields at even indices are @Comp.IDs
    # Elements in rich_fields at odd indices are counts
    rich_fields = copy.deepcopy(rich_header.get("values", None))
    if len(rich_fields) % 2 != 0:
        return Result.UNABLE_TO_PARSE

    # Get a list of @Comp.IDs in rich_fields
    compids = []
    for i in range(len(rich_fields)):
        if i % 2 == 0:
            compids.append(rich_fields[i])

    # Check if any @Comp.IDs are duplicates
    if len(compids) != len(set(compids)):
        return Result.INVALID

    return Result.VALID


def linker_test(pe, rich_header):
    """Checks that the Rich and PE header linker versions do not conflict.

    Certain Rich Header ProdIDs correspond to linker versions
    Although they are undocumented, we have used prior research as well as our
    own to determine many of them
    There are likely more linker version ProdIDs that we have not identified

    If the linker versions conflict, this function returns INVALID
    This indicates that the Rich header or PE header has been modified
    """
    if rich_header is None:
        rich_header = {}

    # Get list of @Comp.IDs and counts from Rich header
    # Elements in rich_fields at even indices are @Comp.IDs
    # Elements in rich_fields at odd indices are counts
    rich_fields = copy.deepcopy(rich_header.get("values", None))
    if len(rich_fields) % 2 != 0:
        return Result.UNABLE_TO_PARSE

    # Get list of ProdIDs from rich_fields
    prodids = []
    for i in range(len(rich_fields)):
        if i % 2 == 0:
            prodids.append(rich_fields[i] >> 16)

    # Parse major and minor linker versions from PE header
    pe_major = pe.OPTIONAL_HEADER.MajorLinkerVersion
    pe_minor = pe.OPTIONAL_HEADER.MinorLinkerVersion

    # Iterate over Rich header ProdIDs
    found_linker = False
    for prodid in prodids:

        # Only interested in ProdIDs that correspond to linker versions
        if KNOWN_PRODUCT_IDS.get(prodid) is None:
            continue
        prodid_name = KNOWN_PRODUCT_IDS[prodid]
        if not prodid_name.startswith("Linker"):
            continue

        found_linker = True

        # Parse major and minor linker version from ProdID
        prodid_name = prodid_name[6:]
        if prodid_name.endswith("p"):
            prodid_name = prodid_name[:-1]
        rich_major = int(prodid_name[:-2])
        rich_minor = int(prodid_name[-2:])

        # Check whether the Rich and PE linker versions match
        if pe_major == rich_major and pe_minor == rich_minor:
            return Result.VALID

    if not found_linker:
        return Result.UNABLE_TO_PARSE

    return Result.INVALID


def import_count_test(pe, rich_header):
    """Checks that import0 does not conflict with the IAT import count.

    The Rich header contains a ProdID called import0
    It is related to the number of imports in the IAT, but we are unsure how
    It is never less than the number of imports in the IAT

    If import0 is less than IAT import count, this function returns INVALID
    This indicates that the Rich header or IAT has been modified
    """
    if rich_header is None:
        rich_header = {}

    # Check whether the file has an IAT
    if not hasattr(pe, "DIRECTORY_ENTRY_IMPORT"):
        return Result.UNABLE_TO_PARSE

    # Get the number of imports in the IAT
    iat_count = 0
    for entry in pe.DIRECTORY_ENTRY_IMPORT:
        for imported_function in entry.imports:
            iat_count += 1

    # Get list of @Comp.IDs and counts from Rich header
    # Elements in rich_fields at even indices are @Comp.IDs
    # Elements in rich_fields at odd indices are counts
    rich_fields = copy.deepcopy(rich_header.get("values", None))
    if len(rich_fields) % 2 != 0:
        return Result.INVALID

    # Get @Comp.ID 65536 (ProdID Import0)
    import0_count = None
    while len(rich_fields):
        compid = rich_fields.pop(0)
        count = rich_fields.pop(0)
        if compid == 65536:
            import0_count = count

    # Legitimate files never have import0_count < iat_count
    if import0_count is None:
        return Result.VALID

    if import0_count < iat_count:
        return Result.INVALID

    return Result.VALID