Karl Andersson

185 papers B 14C 4Misc 1Journal 68Unranked 96
YearRankTypeTitle / Venue / Authors
2026 J jnl
Cogn. Comput.
Md Jaber Al Nahian, Jasiya Fairiz Raisa, Mufti Mahmud, M. Shamim Kaiser, Md Atiqur Rahman Ahad, Tapotosh Ghosh, Md. Hasan Al Banna, Mohammad Shahadat Hossain, Karl Andersson
2026 J jnl
ACM Trans. Soc. Comput.
Tanjim Mahmud, Md Akash Rahman, Rimon Kanthi Devnath, Mohammad Shahadat Hossain, Karl Andersson
2026 J jnl
J. Cybersecur. Priv.
Gonesh Chandra Saha, Ahmed Afif Monrat, Karl Andersson
2025 J jnl
IEEE Access
Shamim Ahmed, M. Shamim Kaiser, Mohammad Shahadat Hossain, Karl Andersson
2025 J jnl
IEEE Access
Al Hossain, Umme Hani Konok, MD Tahsin, Raihan Ul Islam, Mohammad Rifat Ahmmad Rashid, Mohammad Shahadat Hossain, Karl Andersson
2025 J jnl
Algorithms
Sami Kabir, Mohammad Shahadat Hossain, Karl Andersson
2025 J jnl
Algorithms
Sami Kabir, Mohammad Shahadat Hossain, Karl Andersson
2025 conf
FMEC
Mohammad Newaj Jamil, Olov Schelén, Ahmed Afif Monrat, Karl Andersson
2025 J jnl
IEEE Access
Farzana Tasnim, Tanjim Mahmud, Shefayatuj Johara Chowdhury, Tasnia Fahrin Choity, Aisha Ahmed, Mohammad Saeed Hasan Chowdhury, Mohammad Shahadat Hossain, Karl Andersson
2025 J jnl
IEEE Access
Manoara Begum, Md Akash Rahman, Tanjim Mahmud, Mohammad Shahadat Hossain, Karl Andersson
2025 J jnl
IEEE Access
Deepak Kumar Chowdhury, Nur Mohammad, Tanjim Mahmud, Md. Khaliluzzaman, Karl Andersson, Mohammad Shahadat Hossain
2025 conf
FiCloud
Sinthia Chowa, Eric Rondeau, Moufida Maimour, Mohammad Shahadat Hossain, Karl Andersson, Sylvain Kubler
2025 J jnl
IEEE Access
Tanjim Mahmud, Mst. Sharmin Akter, Tahmina Akter, Mohammad Shahadat Hossain, Karl Andersson
2025 J jnl
CoRR
Asma Sadia Khan, Fariba Tasnia Khan, Tanjim Mahmud, Salman Karim Khan, Rishita Chakma, Nahed Sharmen, Mohammad Shahadat Hossain, Karl Andersson
2025 J jnl
CoRR
Hadis Rezaei, Ahmed Afif Monrat, Karl Andersson, Francesco Flammini
2024 conf
ANT/EDI40
Tanjim Mahmud, Rezaul Karim, Rishita Chakma, Tanjia Chowdhury, Mohammad Shahadat Hossain, Karl Andersson
2024 conf
ICECET
Israt Binteh Habib, Tanjim Mahmud, Afsana Tamishra, Sanjida Amrin, Afia Zahin, Muhammed Nazmul Arefin, Mohammad Shahadat Hossain, Karl Andersson
2024 J jnl
IEEE Access
Nurun Nahar, Karl Andersson, Olov Schelén, Saguna Saguna
2024 J jnl
J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl.
Ahmed Afif Monrat, Olov Schelén, Karl Andersson
2024 conf
ICCCNT
Tahmina Akter Sumi, Avishek Majumder, Tanjim Mahmud, Israt Binteh Habib, Mohammad Shahadat Hossain, Karl Andersson
2024 J jnl
IEEE Access
Tanjim Mahmud, Nippon Datta, Rishita Chakma, Utpol Kanti Das, Mohammad Tarek Aziz, Musaddikul Islam, Abul Hasnat Muhammed Salimullah, Mohammad Shahadat Hossain, Karl Andersson
2024 J jnl
IEEE Access
Md Akash Rahman, Manoara Begum, Tanjim Mahmud, Mohammad Shahadat Hossain, Karl Andersson
2024 conf
ICCCNT
Taohidur Rahman, Tanjim Mahmud, Mokame Mahmuda Setara, Swagata Roy, Mohammad Shahadat Hossain, Karl Andersson
2024 conf
ICCCNT
Tahmina Akter Sumi, Tanjim Mahmud, Tikle Barua, Sultana Rokeya Naher, Mohammad Shahadat Hossain, Karl Andersson
2024 J jnl
IEEE Access
Mohammad Newaj Jamil, Olov Schelén, Ahmed Afif Monrat, Karl Andersson
2024 conf
ICCCNT
Tanjim Mahmud, Tahmina Akter Sumi, Dilshad Islam, Mohammad Tarek Aziz, Mohammad Shahadat Hossain, Karl Andersson
2024 J jnl
Syst.
Tanjim Mahmud, Md. Alif Hossen Prince, Md. Hasan Ali, Mohammad Shahadat Hossain, Karl Andersson
2024 conf
ICECET
Sultana Rokeya Naher, Sayfun Sultana, Tanjim Mahmud, Mohammad Tarek Aziz, Mohammad Shahadat Hossain, Karl Andersson
2024 conf
Blockchain
Yu Luo, Weifeng Xu, Karl Andersson, Mohammad Shahadat Hossain, Dianxiang Xu
2024 conf
ICECET
Tahmina Akter Sumi, Tanjim Mahmud, Utpol Kanti Das, Prosenjit Chakraborty, Nahed Sharmen, Mohammad Shahadat Hossain, Karl Andersson
2024 conf
ANT/EDI40
Puja Dey, Tanjim Mahmud, Mohammad Sanaullah Chowdhury, Mohammad Shahadat Hossain, Karl Andersson
2024 conf
ICCCNT
Md. Hasan Ali, Tanjim Mahmud, Mohammad Tarek Aziz, Md. Faisal Bin Abdul Aziz, Mohammad Shahadat Hossain, Karl Andersson
2024 conf
ICCCNT
Tanjim Mahmud, Tahmina Akter Sumi, Mohammad Kamal Uddin, Mohammad Tarek Aziz, Mohammad Shahadat Hossain, Karl Andersson
2024 conf
ICCCNT
Tanjim Mahmud, Tahmina Akter Sumi, Rishita Chakma, Tikle Barua, Mohammad Shahadat Hossain, Karl Andersson
2024 conf
ANT/EDI40
Farzana Tasnim, Sultana Umme Habiba, Tanjim Mahmud, Lutfun Nahar, Mohammad Shahadat Hossain, Karl Andersson
2023 J jnl
IEEE Access
Md. Hasan Al Banna, Tapotosh Ghosh, M. Jaber Al Nahian, M. Shamim Kaiser, Mufti Mahmud, Kazi Abu Taher, Mohammad Shahadat Hossain, Karl Andersson
2023 conf
ICO (2)
Aminul Islam, Sultana Umme Habiba, Tanjim Mahmud, Habibur Rahman, Mahmuda Akter Sumi, Nanziba Basnin, Mohammad Shahadat Hossain, Karl Andersson
2023 conf
ICO (2)
Nishan Barua, Tanjim Mahmud, Mohammad Shahadat Hossain, Karl Andersson
2023 conf
ICO (2)
Tasmina Akter Rupina, Pusmita Barua, Israt Binteh Habib, Tanjim Mahmud, Lutfun Nahar, Nusrat Zahan, Mohammad Shahadat Hossain, Karl Andersson
2023 conf
ICO (2)
Sajib Tripura, Tanjim Mahmud, Dipu Das, Israt Ara, Koushick Barua, Anik Barua, Mohammad Shahadat Hossain, Karl Andersson
2023 J jnl
IEEE Access
Shakila Shafiq, Sabbir Ahmed, M. Shamim Kaiser, Mufti Mahmud, Mohammad Shahadat Hossain, Karl Andersson
2023 conf
ICO (2)
Sajib Tripura, Tanjim Mahmud, Ning Prueaung Marma, Israt Ara, Koushick Barua, Anik Barua, Mohammad Shahadat Hossain, Karl Andersson
2023 conf
ICO (2)
Sultana Umme Habiba, Fatema Tuj Johora, Tanjim Mahmud, Tanpia Tasnim, Farzana Tasnim, Sumaiya Kabir, Mohammad Shahadat Hossain, Karl Andersson
2023 conf
BI
Tanjim Mahmud, Koushick Barua, Anik Barua, Sudhakar Das, Nanziba Basnin, Mohammad Shahadat Hossain, Karl Andersson, M. Shamim Kaiser, Nahed Sharmen
2023 conf
ICO (2)
Rishita Chakma, Tanjim Mahmud, Rahat Akhand, Israt Ara, Koushick Barua, Anik Barua, Mohammad Shahadat Hossain, Karl Andersson
2023 conf
ICO (2)
Tanjim Mahmud, Rishita Chakma, Roksana Akther, Mohammad Tarek Aziz, Taohidur Rahman, Mohammad Shahadat Hossain, Karl Andersson
2023 B conf
GLOBECOM
Nadia Charef, Maroua Abdelhafidh, Adel Ben Mnaouer, Karl Andersson, Soumaya Cherkaoui
2023 conf
BI
Sultana Umme Habiba, Tanoy Debnath, Md. Khairul Islam, Lutfun Nahar, Mohammad Shahadat Hossain, Nanziba Basnin, Karl Andersson
2023 J jnl
IEEE Access
Mohammad Newaj Jamil, Mohammad Shahadat Hossain, Raihan Ul Islam, Karl Andersson
2022 conf
BI
Shafkat Raihan, Mumtahina Ahmed, Angel Sharma, Mohammad Shahadat Hossain, Raihan Ul Islam, Karl Andersson
2022 conf
MIET (2)
Mohammad Shahadat Hossain, Mumtahina Ahmed, S. M. Shafkat Raihan, Angel Sharma, Raihan Ul Islam, Karl Andersson
2022 conf
AII
Lutfun Nahar, Nanziba Basnin, Sirazum Nadia Hoque, Farzana Tasnim, Mohammad Shahadat Hossain, Karl Andersson
2022 conf
ICO
Iftakher Hasan Mohammad Tarek, Fahad Uddin Munna, A. T. M. Tanbin Hossain Mojumder, Mohammed Mahmudur Rahman, Mohammad Shahadat Hossain, Karl Andersson
2022 conf
AII
Sara Karim, Muhammed J. A. Patwary, Mohammad Shahadat Hossain, Karl Andersson
2022 conf
ICO
Tanuja Nath, Mohammad Shahadat Hossain, Karl Andersson
2022 conf
ICO
Zinnia Sultana, Lutfun Nahar, Farzana Tasnim, Mohammad Shahadat Hossain, Karl Andersson
2022 J jnl
Cogn. Comput.
Tawsin Uddin Ahmed, Mohammad Newaj Jamil, Mohammad Shahadat Hossain, Raihan Ul Islam, Karl Andersson
2022 conf
ICO
Zinnia Sultana, Lutfun Nahar, Sharmin Sultana, Farzana Tasnim, Mohammad Shahadat Hossain, Karl Andersson
2022 J jnl
Expert Syst. Appl.
Sami Kabir, Raihan Ul Islam, Mohammad Shahadat Hossain, Karl Andersson
2022 conf
ICO
Faisal Mahamud, Md. Arif Istiek Neloy, Parthiba Barua, Mithun Das, Nazmun Nahar, Mohammad Shahadat Hossain, Karl Andersson, Md. Sazzad Hoassain
2022 conf
ICO
Sultana Umme Habiba, Md. Khairul Islam, Lutfun Nahar, Farzana Tasnim, Mohammad Shahadat Hossain, Karl Andersson
2022 conf
BI
Tahmina Akter Sumi, Tanuja Nath, Nazmun Nahar, Mohammad Shahadat Hossain, Karl Andersson
2022 J jnl
IEEE Access
Morteza Alizadeh, Karl Andersson, Olov Schelén
2022 conf
ICO
Faisal Ahmed, Mohammad Hasan, Mohammad Shahadat Hossain, Karl Andersson
2022 conf
BI
Md. Arif Istiek Neloy, Anik Biswas, Nazmun Nahar, Mohammad Shahadat Hossain, Karl Andersson
2022 J jnl
J. Internet Serv. Inf. Secur.
Mumtahina Ahmed, Mohammad Shahadat Hossain, Raihan Ul Islam, Karl Andersson
2022 conf
TCCE
Mohammad Farshid, Atia Binti Aziz, Nanziba Basnin, Mohoshena Akhter, Karl Andersson, Mohammad Shahadat Hossain
2022 conf
ICO
Zinnia Sultana, Lutfun Nahar, Farzana Tasnim, Mohammad Shahadat Hossain, Karl Andersson
2022 conf
TCCE
Faisal Ahmed, Mohammad Naim Uddin Rahi, Raihan Uddin, Anik Sen, Mohammad Shahadat Hossain, Karl Andersson
2022 J jnl
Expert Syst. Appl.
Emam Hossain, Mohammad Shahadat Hossain, Pär-Ola Zander, Karl Andersson
2022 conf
TCCE
Md. Mahedi Al Arafat, Mohammad Shahadat Hossain, Delowar Hossain, Karl Andersson
2022 conf
ICO
Tanjim Mahmud, Sudhakar Das, Michal Ptaszynski, Mohammad Shahadat Hossain, Karl Andersson, Koushick Barua
2022 conf
ICO
Md. Arif Istiek Neloy, Faisal Mahamud, Nazmun Nahar, Mohammad Shahadat Hossain, Karl Andersson
2022 conf
ICO
Faisal Mahamud, Al Shareya Emon, Nazmun Nahar, Md. Hasan Imam, Mohammad Shahadat Hossain, Karl Andersson
2022 conf
MIET (1)
Sourav Barman, Md Raju Biswas, Sultana Marjan, Nazmun Nahar, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
BI
Shafkat Raihan, Sharif Noor Zisad, Raihan Ul Islam, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
AII
Nagifa Ilma Progga, Noortaz Rezoana, Mohammad Shahadat Hossain, Raihan Ul Islam, Karl Andersson
2021 conf
TCCE
Tawsin Uddin Ahmed, Sazzad Hossain, Mohammad Shahadat Hossain, Raihan Ul Islam, Karl Andersson
2021 conf
TCCE
Lutfun Nahar, Mohammad Shahadat Hossain, Promi Das, Tanzeem Alam, Karl Andersson
2021 conf
TCCE
Nazmun Nahar, Ferdous Ara, Jubair Ahmed Junjun, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
TCCE
Md. Arif Istiek Neloy, Nazmun Nahar, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
TCCE
Sabrina Jahan Maisha, Ety Biswangri, Mohammad Shahadat Hossain, Karl Andersson
2021 J jnl
Algorithms
Sharif Noor Zisad, Etu Chowdhury, Mohammad Shahadat Hossain, Raihan Ul Islam, Karl Andersson
2021 J jnl
Algorithms
Sharif Noor Zisad, Mohammad Shahadat Hossain, Mohammed Sazzad Hossain, Karl Andersson
2021 J jnl
IEEE Access
Md. Hasan Al Banna, Tapotosh Ghosh, M. Jaber Al Nahian, Kazi Abu Taher, M. Shamim Kaiser, Mufti Mahmud, Mohammad Shahadat Hossain, Karl Andersson
2021 J jnl
Algorithms
Polash Dey, Emam Hossain, Md. Ishtiaque Hossain, Mohammed Armanuzzaman Chowdhury, Md. Shariful Alam, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
BI
Md. Mahmodul Hasan, Md. Asaduzzaman, Mohammad Motiur Rahman, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
BI
Nanziba Basnin, Nazmun Nahar, Fahmida Ahmed Anika, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
BI
Nanziba Basnin, Tahmina Akter Sumi, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
TCCE
Noortaz Rezoana, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
BI
Nazmun Nahar, Ferdous Ara, Md. Arif Istiek Neloy, Anik Biswas, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
AII
Tasnim Afroze, Shumia Akther, Mohammed Armanuzzaman Chowdhury, Emam Hossain, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
AII
Refat Khan Pathan, Mohammad Amaz Uddin, Nazmun Nahar, Ferdous Ara, Mohammad Shahadat Hossain, Karl Andersson
2021 conf
AII
Tahmina Akter Sumi, Mohammad Shahadat Hossain, Raihan Ul Islam, Karl Andersson
2021 J jnl
J. Internet Serv. Inf. Secur.
Mohammad Arfizurrahmanl, Ahmad, Mohammad Shahadat Hossain, Mohammad Ahsanul Haque, Karl Andersson
2020 J jnl
IEEE Access
Raihan Ul Islam, Mohammad Shahadat Hossain, Karl Andersson
2020 conf
BI
Nazmun Nahar, Mohammad Shahadat Hossain, Karl Andersson
2020 J jnl
Algorithms
Md. Saiful Islam, Emam Hossain, Abdur Rahman, Mohammad Shahadat Hossain, Karl Andersson
2020 J jnl
J. Internet Serv. Inf. Secur.
Morteza Alizadeh, Karl Andersson, Olov Schelén
2020 J jnl
Sensors
Sami Kabir, Raihan Ul Islam, Mohammad Shahadat Hossain, Karl Andersson
2020 conf
ICO
Dipankar Gupta, Emam Hossain, Mohammed Sazzad Hossain, Mohammad Shahadat Hossain, Karl Andersson
2020 Misc conf
UCC
Ahmed Afif Monrat, Olov Schelén, Karl Andersson
2020 B conf
NCA
Peter Altmann, Abdul Ghafoor Abbasi, Olov Schelén, Karl Andersson, Morteza Alizadeh
2020 J jnl
IEEE Trans. Sustain. Comput.
Karl Andersson, Xiaofeng Chen, Christian Esposito, Eric Rondeau
2020 J jnl
IEEE Trans. Sustain. Comput.
Karl Andersson, Xiaofeng Chen, Christian Esposito, Eric Rondeau
2020 J jnl
Wirel. Networks
Valentin Poirot, Mårten Ericson, Mats Nordberg, Karl Andersson
2020 conf
ICO
Refat Khan Pathan, Mohammad Amaz Uddin, Nazmun Nahar, Ferdous Ara, Mohammad Shahadat Hossain, Karl Andersson
2020 conf
ICO
Mehenika Akter, Mohammad Shahadat Hossain, Tawsin Uddin Ahmed, Karl Andersson
2020 J jnl
J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl.
Al-Hussein Hameed Jasim, Niclas Ögren, Dimitar Minovski, Karl Andersson
2020 conf
ICO
Subhasish Gosh, Nazmun Nahar, Mohammad Abdul Wahab, Munmun Biswas, Mohammad Shahadat Hossain, Karl Andersson
2020 J jnl
IEEE Access
Vishal Sharma, Ilsun You, Karl Andersson, Francesco Palmieri, Mubashir Husain Rehmani, Jae-Deok Lim
2020 conf
BI
Sharif Noor Zisad, Mohammad Shahadat Hossain, Karl Andersson
2020 J jnl
J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl.
Mohammad Newaj Jamil, Mohammad Shahadat Hossain, Raihan Ul Islam, Karl Andersson
2020 B conf
LCN
José Mauricio Perdomo, Mårten Ericson, Mats Nordberg, Karl Andersson
2019 B ed.
LCN
Karl Andersson, Hwee-Pink Tan, Sharief Oteafy
2019 J jnl
J. Internet Serv. Inf. Secur.
Mohammad Shahadat Hossain, Fatema-Tuj-Johora, Karl Andersson
2019 J jnl
IEEE Access
Ahmed Afif Monrat, Olov Schelén, Karl Andersson
2019 J jnl
J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl.
Mohammad Shahadat Hossain, Zinnia Sultana, Lutfun Nahar, Karl Andersson
2019 J jnl
Wirel. Commun. Mob. Comput.
Karl Andersson, Ilsun You, Rahim Rahmani, Vishal Sharma
2019 J jnl
CoRR
Vishal Sharma, Ilsun You, Karl Andersson, Francesco Palmieri, Mubashir Husain Rehmani
2018 J jnl
J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl.
Mohammad Shahadat Hossain, Abdullah Al Hasan, Sunanda Guha, Karl Andersson
2018 conf
LCN Workshops
Ahmed Afif Monrat, Raihan Ul Islam, Mohammad Shahadat Hossain, Karl Andersson
2018 J jnl
Soft Comput.
Mohammad Shahadat Hossain, Saifur Rahaman, Rashed Mustafa, Karl Andersson
2018 J jnl
Soft Comput.
Raihan Ul Islam, Mohammad Shahadat Hossain, Karl Andersson
2018 ch.
Applications of Big Data Analytics
Ahmed Afif Monrat, Raihan Ul Islam, Mohammad Shahadat Hossain, Karl Andersson
2018 J jnl
J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl.
Kazy Noor E. Alam Siddiquee, Karl Andersson, Francisco Javier Moreno Arrebola, Zainal Abedin, Mohammad Shahadat Hossain
2018 conf
LCN Workshops
Md. Zainal Abedin, Kazy Noor-e-Alam Siddiquee, M. S. Bhuyan, Razuan Karim, Mohammad Shahadat Hossain, Karl Andersson
2018 B conf
LCN
Roman Zhohov, Dimitar Minovski, Per Johansson, Karl Andersson
2018 J jnl
Secur. Commun. Networks
Karl Andersson, Ilsun You, Francesco Palmieri
2017 J jnl
IEEE Trans. Sustain. Comput.
Mohammad Shahadat Hossain, Saifur Rahaman, Ah-Lian Kor, Karl Andersson, Colin Pattinson
2017 J jnl
J. Medical Syst.
Mohammad Shahadat Hossain, Faisal Ahmed, Fatema-Tuj-Johora, Karl Andersson
2017 J jnl
J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl.
Kazy Noor E. Alam Siddiquee, Karl Andersson, Faria Farjana Khan, Mohammad Shahadat Hossain
2017 C conf
iiWAS
Md Rafiul Sabbir Hridoy, Mohammad Shahadat Hossain, Raihan Ul Islam, Karl Andersson
2017 conf
CCNC
Zainal Abedin, Abu Sayeed Chowdhury, Mohammad Shahadat Hossain, Karl Andersson, Razuan Karim
2017 conf
CCNC
Todd Booth, Karl Andersson
2017 conf
FNSS
Todd Booth, Karl Andersson
2017 conf
INFOCOM Workshops
Raihan Ul Islam, Karl Andersson, Mohammad Shahadat Hossain
2017 conf
CCNC
Kazy Noor E. Alam Siddiquee, Faria Farjana Khan, Karl Andersson, Mohammad Shahadat Hossain
2017 conf
LCN Workshops
Zainal Abedin, Sukanta Paul, Sharmin Akhter, Kazy Noor E. Alam Siddiquee, Mohammad Shahadat Hossain, Karl Andersson
2017 J jnl
Mob. Inf. Syst.
Karl Andersson, Eric Rondeau, Ah-Lian Kor, Dan Johansson
2016 J jnl
J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl.
Sumeet Thombre, Raihan Ul Islam, Karl Andersson, Mohammad Shahadat Hossain
2016 conf
FNSS
Todd Booth, Karl Andersson
2016 conf
CSEE&T
Jari Porras, Ahmed Seffah, Eric Rondeau, Karl Andersson, Alexandra Klimova
2016 J jnl
CoRR
Jari Porras, Ahmed Seffah, Eric Rondeau, Karl Andersson, Alexandra Klimova
2016 conf
INFOCOM Workshops
Sumeet Thombre, Raihan Ul Islam, Karl Andersson, Mohammad Shahadat Hossain
2015 C conf
iiWAS
Raihan Ul Islam, Karl Andersson, Mohammad Shahadat Hossain
2015 conf
FNSS
Todd G. Booth, Karl Andersson
2015 conf
INFOCOM Workshops
Karl Andersson, Mohammad Shahadat Hossain
2015 J jnl
Int. J. E Serv. Mob. Appl.
Dan Johansson, Karl Andersson
2015 J jnl
J. Internet Serv. Inf. Secur.
Todd Booth, Karl Andersson
2015 conf
LCN Workshops
Karl Andersson, Soumaya Cherkaoui
2015 conf
LCN Workshops
Reja Alam Talukder, Karl Andersson, Mominul Ahsan
2014 J jnl
Wirel. Pers. Commun.
Caner Kilinc, Karl Andersson
2014 conf
CCNC
Dan Johansson, Karl Andersson
2014 conf
CCNC
Karl Andersson, Ved P. Kafle
2014 conf
ISSNIP
Md. Sabbir Rahman Sakib, Md Abdul Quyum, Karl Andersson, Kåre Synnes, Ulf Körner
2014 conf
IMIS
Caner Kilinc, Seraj Al Mahmud Mostafa, Raihan Ul Islam, Kashif Shahzad, Karl Andersson
2014 J jnl
J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl.
Raihan Ul Islam, Mischa Schmidt, Hans-Joerg Kolbe, Karl Andersson
2014 conf
VITAE
Karl Andersson, Mohammad Shahadat Hossain
2014 J jnl
Wirel. Pers. Commun.
Ilsun You, Karl Andersson, Laurence T. Yang
2013 C conf
iiWAS
Daniel Granlund, Dan Johansson, Karl Andersson, Robert Brännström
2013 conf
LCN Workshops
Welderufael Berhane Tesfay, Markus Aleksy, Karl Andersson, Marko Lehtola
2013 conf
LCN Workshops
Dan Johansson, Karl Andersson, Christer Åhlund
2012 conf
GLOBECOM Workshops
Muslim Elkotob, Karl Andersson
2012 J jnl
J. Internet Serv. Inf. Secur.
Karl Andersson
2012 conf
LCN Workshops
Karl Andersson, Dan Johansson
2012 conf
GLOBECOM Workshops
Raihan Ul Islam, Mischa Schmidt, Hans-Joerg Kolbe, Karl Andersson
2012 B conf
TrustCom
Welderufael Berhane Tesfay, Todd Booth, Karl Andersson
2012 J jnl
J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl.
Karl Andersson, Muslim Elkotob
2012 B conf
TrustCom
Caner Kilinc, Todd Booth, Karl Andersson
2012 conf
CloudNet
Dan Johansson, Karl Andersson
2011 B conf
LCN
Karl Andersson, Seraj Al Mahmud Mostafa, Raihan Ul Islam
2011 J jnl
Wirel. Pers. Commun.
Karl Andersson, Christer Åhlund
2010 conf
CCNC
Karl Andersson, Daniel Granlund, Muslim Elkotob, Christer Åhlund
2010 conf
WWIC
Karl Andersson, Andrea G. Forte, Henning Schulzrinne
2010 B conf
LCN
Muslim Elkotob, Daniel Granlund, Karl Andersson, Christer Åhlund
2010
Karl Andersson
2009 B conf
LCN
Daniel Granlund, Karl Andersson, Muslim Elkotob, Christer Åhlund
2008 B conf
MUM
Karl Andersson, Muslim Elkotob, Christer Åhlund
2008 J jnl
Telecommun. Syst.
Christer Åhlund, Stefan Wallin, Karl Andersson, Robert Brännström
2008 B conf
MUM
Muslim Elkotob, Karl Andersson
2008 B conf
LCN
Karl Andersson, Christer Åhlund, Balkrishna Sharma Gukhool, Soumaya Cherkaoui
2007 J jnl
J. Mobile Multimedia
Robert Brännström, Christer Åhlund, Karl Andersson, Daniel Granlund
2006 C conf
MoMM
Christer Åhlund, Robert Brännström, Karl Andersson, Örjan Tjernström
2006 B conf
LCN
Christer Åhlund, Robert Brännström, Karl Andersson, Örjan Tjernström
redb/extractors/elf_extractors/elf_notes.py
← Index redb/extractors/elf_extractors/elf_notes.py python
import inspect
import binascii
from datetime import datetime, timezone
from typing import Any, List, Dict

from elftools.elf.elffile import ELFFile
from elftools.common.exceptions import ELFError

from redb.extractors.enum import Tag
from redb.extractors.elf_extractor import ELFExtractor
from redb.models.dataclasses import ELFNote


class ELFNotesExtractor(ELFExtractor):

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        elf=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters,
            index_prefix,
            elastic_index,
            known_benign,
            known_malicious,
            elf,
        )
        self.elf_notes = []
        self.elastic_index = self.index_prefix + "-elf_notes"
        self.log.debug(inspect.currentframe().f_code.co_name)

    def _get_note_type_string(self, note_type: int, note_name: str) -> str:
        """Convert note type number to human-readable string."""

        # GNU-specific note types
        if note_name == "GNU":
            gnu_types = {
                1: "NT_GNU_ABI_TAG",
                2: "NT_GNU_HWCAP",
                3: "NT_GNU_BUILD_ID",
                4: "NT_GNU_GOLD_VERSION",
                5: "NT_GNU_PROPERTY_TYPE_0"
            }
            return gnu_types.get(note_type, f"NT_GNU_UNKNOWN_{note_type}")

        # Generic note types
        generic_types = {
            1: "NT_PRSTATUS",
            2: "NT_FPREGSET",
            3: "NT_PRPSINFO",
            4: "NT_TASKSTRUCT",
            5: "NT_AUXV",
            6: "NT_PSTATUS",
            7: "NT_FPREGS",
            8: "NT_PSINFO",
            9: "NT_PRCRED",
            10: "NT_UTSNAME",
            11: "NT_LWPSTATUS",
            12: "NT_LWPSINFO",
            13: "NT_PRFPXREG"
        }

        return generic_types.get(note_type, f"NT_UNKNOWN_{note_type}")

    def _format_note_description(self, note_desc, note_type: int, note_name: str) -> str:
        """Format note description based on type for human readability."""
        try:
            if not note_desc:
                return ""

            # Handle build ID specifically (common case)
            if note_name == "GNU" and note_type == 3:  # NT_GNU_BUILD_ID
                if isinstance(note_desc, bytes):
                    return binascii.hexlify(note_desc).decode('ascii')
                return str(note_desc)

            # Handle ABI tag
            if note_name == "GNU" and note_type == 1:  # NT_GNU_ABI_TAG
                if isinstance(note_desc, bytes) and len(note_desc) >= 16:
                    # ABI tag contains OS, major, minor, subminor
                    import struct
                    try:
                        os_val, major, minor, subminor = struct.unpack('<IIII', note_desc[:16])
                        os_names = {0: "Linux", 1: "GNU", 2: "Solaris", 3: "FreeBSD"}
                        os_name = os_names.get(os_val, f"OS_{os_val}")
                        return f"{os_name} {major}.{minor}.{subminor}"
                    except:
                        pass

            # For binary data, convert to hex
            if isinstance(note_desc, bytes):
                # Limit size for very large descriptions
                if len(note_desc) > 256:
                    return binascii.hexlify(note_desc[:256]).decode('ascii') + "..."
                return binascii.hexlify(note_desc).decode('ascii')

            # For string data
            if isinstance(note_desc, str):
                return note_desc

            # Fallback
            return str(note_desc)

        except Exception as e:
            self.log.error(f"Error formatting note description: {e}")
            return str(note_desc) if note_desc else ""

    def _extract_note_data(self, note, section_name: str) -> ELFNote:
        """Extract data from a single note entry."""
        try:
            # Get note properties
            note_name = note.get('n_name', '').rstrip('\x00') if note.get('n_name') else ""
            note_type_raw = note.get('n_type', 0)
            note_desc_raw = note.get('n_desc', b'')

            # Handle note_type - pyelftools may return string or int
            if isinstance(note_type_raw, str):
                # pyelftools returned the type as a string like 'NT_GNU_BUILD_ID'
                note_type_str = note_type_raw
                # Map known string types to integers
                note_type_map = {
                    'NT_GNU_ABI_TAG': 1,
                    'NT_GNU_HWCAP': 2,
                    'NT_GNU_BUILD_ID': 3,
                    'NT_GNU_GOLD_VERSION': 4,
                    'NT_GNU_PROPERTY_TYPE_0': 5,
                    'NT_PRSTATUS': 1,
                    'NT_FPREGSET': 2,
                    'NT_PRPSINFO': 3,
                    'NT_TASKSTRUCT': 4,
                    'NT_AUXV': 5,
                    'NT_PSTATUS': 6,
                    'NT_FPREGS': 7,
                    'NT_PSINFO': 8,
                    'NT_PRCRED': 9,
                    'NT_UTSNAME': 10,
                    'NT_LWPSTATUS': 11,
                    'NT_LWPSINFO': 12,
                    'NT_PRFPXREG': 13,
                }
                note_type = note_type_map.get(note_type_raw, 0)
            else:
                note_type = note_type_raw
                # Get human-readable type string
                note_type_str = self._get_note_type_string(note_type, note_name)

            # Format description
            note_desc = self._format_note_description(note_desc_raw, note_type, note_name)

            return ELFNote(
                note_name=note_name,
                note_type=note_type,
                note_type_str=note_type_str,
                note_desc=note_desc,
                note_section=section_name
            )

        except Exception as e:
            self.log.error(f"Error extracting note data: {e}")
            return None

    def _extract_notes_from_sections(self, elf) -> List[Dict]:
        """Extract notes from note sections."""
        notes = []

        try:
            # Look for note sections
            for section in elf.iter_sections():
                if (section.name and
                    section.name.startswith('.note') and
                    hasattr(section, 'iter_notes')):

                    section_name = section.name
                    try:
                        for note in section.iter_notes():
                            note_data = self._extract_note_data(note, section_name)
                            if note_data:
                                notes.append(note_data)
                    except Exception as e:
                        self.log.debug(f"Could not process notes in section {section_name}: {e}")

        except Exception as e:
            self.log.error(f"Error extracting notes from sections: {e}")

        return notes

    def _extract_notes_from_segments(self, elf) -> List[Dict]:
        """Extract notes from PT_NOTE segments."""
        notes = []

        try:
            # Look for PT_NOTE segments
            for segment in elf.iter_segments():
                if segment.header.get('p_type') == 'PT_NOTE':
                    segment_name = f"PT_NOTE_segment_{segment.header.get('p_offset', 0)}"

                    try:
                        if hasattr(segment, 'iter_notes'):
                            for note in segment.iter_notes():
                                note_data = self._extract_note_data(note, segment_name)
                                if note_data:
                                    notes.append(note_data)
                    except Exception as e:
                        self.log.debug(f"Could not process notes in segment: {e}")

        except Exception as e:
            self.log.error(f"Error extracting notes from segments: {e}")

        return notes

    def tag(self):
        return Tag.ELF_NOTES.value if hasattr(Tag, 'ELF_NOTES') else "elf_notes"

    def extract(self):
        try:
            self.log.debug(inspect.currentframe().f_code.co_name)

            def extract_data(elf):
                all_notes = []

                # Extract notes from note sections
                section_notes = self._extract_notes_from_sections(elf)
                all_notes.extend(section_notes)

                # Extract notes from PT_NOTE segments
                segment_notes = self._extract_notes_from_segments(elf)
                all_notes.extend(segment_notes)

                # Remove duplicates (same note might appear in section and segment)
                unique_notes = []
                seen_notes = set()
                for note in all_notes:
                    note_key = (note.note_name, note.note_type, note.note_desc)
                    if note_key not in seen_notes:
                        seen_notes.add(note_key)
                        unique_notes.append(note)

                return unique_notes

            if not self._is_elf_file():
                return None

            result = self._with_elf_file(extract_data)
            if result is None:
                return None

            self.elf_notes = result
            return self.elf_notes

        except Exception as e:
            self.log.error(f"Error extracting ELF notes {self.hash.sha256}: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        self.log.debug(inspect.currentframe().f_code.co_name)

        if exporter_type == "ElasticsearchExporter":
            return self.elf_notes
        elif exporter_type == "ClickHouseExporter":
            try:
                # Return valid empty structure if no notes found
                # None is reserved for actual errors

                # Prepare data arrays for all notes
                data = []
                current_time = datetime.now(timezone.utc)
                for note in self.elf_notes:
                    row = [
                        self.sha256,
                        self.md5,
                        self.sha1,
                        note.note_name,
                        note.note_type,
                        note.note_type_str,
                        note.note_desc,
                        note.note_section,
                        current_time
                    ]
                    data.append(row)

                column_names = [
                    'sha256', 'md5', 'sha1',
                    'note_name', 'note_type', 'note_type_str',
                    'note_desc', 'note_section',
                    'analysis_date'
                ]

                if not data:
                    return None

                column_type_names = [
                    'FixedString(64)', 'FixedString(32)', 'FixedString(40)',
                    'LowCardinality(String)', 'UInt32', 'LowCardinality(String)',
                    'String CODEC(ZSTD(3))', 'LowCardinality(String)',
                    'DateTime64(3, \'UTC\')'
                ]

                return (data, column_names, column_type_names)

            except Exception as e:
                self.log.error(f"Error preparing export data: {e}")
                raise

    def get_clickhouse_table(self) -> str:
        return "redb_elf_notes"