SlideShare a Scribd company logo
1 of 43
Download to read offline
Inside .NET Smart Card Operating System
         44Con, September 2012

        Behrang Fouladi, SensePost
         behrang@sensepost.com
What is a smart card?



          VS
What is a smart card?
Single Application Smart Cards
Multi-Application Smart Card

   Card Parking



                            Access Control



Cashless Payments




Computer Access              Identification
Did you know?
• How many of you have Orange SIM cards?
• What applications are running on your SIM
  card?
• Any other apps working silently?
Example: SIM Tracker Applet




• Operators goal: sending the MMS/APN settings to the new handset
• Can also be used for investigation purposes
In The News…
– Oyster card: Crypto-1 encryption algorithm attack,
  2004
– Cambridge university: EMV relay attack, 2010
– Sykipot malware Targeting US DoD smart cards,
  2011-2012
In The News…
Why?
Why?
•   8 billion smart cards by 2014
•   The “Internet of Things”
•   Chip-enabled mobile payments
•   Hardware backdoors
•   Malware is everywhere!
Smart Card Firewall
Multi-application Smart Card Platforms




                                .NET card


 MULTOS           JavaCard
.NET Smart Card
• First .NET virtual machine on the chip
• Native support in Windows 7 and server 2008
• Used in:
  – Smart card based corporate badges (Microsoft
    employees badge)
  – Remote Access Control (USA DoD and UK MOD)
.NET smart card overview
.NET smart card security model
               App Domain B




App Domain C                  App Domain A
                RSA Sig(B)




RSA Sig(C)                     RSA Sig(A)
Public Key Token
Code Access Security
Data Access Security
Card application development


         Deployment & Debugging ??
  ??


         Communication (APDU) ??
Card application development


                        .NET assembly

 (1) Compiles program                              Converter
                                                                 (3) Signed card binary
                                                    Plug-in
                                  (2) Conversion
                                  to card binary




                   (4) .NET remoting comm.
                                                   Comm.
                                                    Proxy
                                                               (5) APDU comm.



                                              Vendor’s SDK
How secure is .NET card?
• Has EAL5+ certified Infenion chip
• EAL certification is widely used by smart card
  industry (EAL3 to EAL7)
• .NET card OS is designed to achieve EAL4+
• EAL4+ audit:
   – takes 6 to 9 months, costs high 10sk to low 100sk £
   – includes independent penetration testing and source
     code review in some case
• No published vulnerabilities so far
Rev. Engineering For Vuln. Discovery
Smart Card Vuln. research
• No Chip OS binary is available
• Traditional tools (debuggers, disassemblers)
  are useless
• No publicly available testing tools
• Secure chips have sensors, shields, encryption
• ON-card bytecode/IL code verifier
“HiveMod” Tool
HiveMod
• Vulnerability research tool, for:
  – .NET card binary (Hive format) visualization
  – Card Binary manipulation
  – Card binary Re-signing
.NET Card Binary
Compiler Header
Digital signature Header
Object counters Header
Namespaces reference table
Types reference table
Methods reference table
Fields reference table
Blob definitions
Type definitions
Method definitions
Program code (IL code)
RSA signature
HIVE manipulation/fuzzing
Manipulating Digital Signature Header
 Compiler Header
 Digital signature Header       offset              Field name              size
                              32         SHA1 hash of the full assembly   20
 Object counters Header       52         Public key token                 8
                              60         RSA modulus length               4 (len)
 Namespaces reference table
                              64         RSA public exponent              4
 Types reference table        68         RSA modulus                      len

 Methods reference table
 Fields reference table
 Blob definitions
 Type definitions
 Method definitions
 Program code (IL code)
 RSA signature
Manipulating Digital Signature Header




  PBKT=Reverse(Right(SHA1(RSA_modulus),8))
(Bypassing .NET card app Firewall)
     Old school attack: Public Key Token Spoofing
Attack Demo
Let’s use the HiveMod tool to test this
             vulnerability!
Manual testing vs. HiveMod
•   Rev. engineering the SDK: ~2 months
•   Hex editor for binary patching : Frustrating
•   Modified card binary needs to be signed
•   Destroying at least 10 cards: ~200 Euros
Real World Attack?
                                         (2) Payment                                               GSM (data)
Access control app

                              Employee
                                                                                POS terminal
                                                       corporate
    E-Purse app
                                                        cafeteria




                                                             (no GSM access)
                                                             (4) save to card
                                                                                                GSM (data)
(1) Attacker plants malware
         in e-purse


                                                                                                        (3) Access control data
                                                                                                              exfiltration
                                                                                               Attacker’s
                                                                                                system
Fiction or Real?




                   Document available on the internet
Vendor’s Response
• “An attacker needs administration key to be able to
  upload his malicious application on the card, This Key is
  normally securely stored in a HSM or a smart card
  based controller”.
Vendor’s Response
• “Knowledge of the Public Key Token of the
  targeted application is required”.
Vendor’s Response
• “The targeted application must use private
  file-system storage for its data to be exposed.
  Therefore, internal (Application Domain)
  storage is immune to such attack”.
          byte[] key={0xaf,0x09,0x45,0x12,....};
More Vulnerabilities...
• Unauthorized memory read in InitializeArray():
  public static void InitializeArray(Array array,RuntimeFieldHandle fldHandle);

• Results: Partial memory dump
• Destroys the card (no reliable exploitation
  yet)
More Vulnerabilities...
Conclusions
• don’t worry!
• check the apps PKTs for tampering.
• Use a secure card management system
• Smart card apps can be patched/updated , but
  not the card’s OS!
• Smart cards OS and apps and card
  management software need pen tests too!
Closing words
• HiveMod Tool would be available to Smart
  Card vendors and security researchers
  (contact research@sensepost.com)
• I’d like to thank Dr. Kostas Markantonakis for
  supervising my research
Questions?

More Related Content

What's hot

Enhancement of security in rfid using rsa algorithm
Enhancement of security in rfid using rsa algorithmEnhancement of security in rfid using rsa algorithm
Enhancement of security in rfid using rsa algorithm
Alexander Decker
 

What's hot (9)

CellSIM OS Overview 1.0
CellSIM OS Overview 1.0CellSIM OS Overview 1.0
CellSIM OS Overview 1.0
 
Download
DownloadDownload
Download
 
4G V-Station
4G V-Station4G V-Station
4G V-Station
 
4g V-Flex
4g V-Flex4g V-Flex
4g V-Flex
 
000
000000
000
 
HSM Basic Training
HSM Basic TrainingHSM Basic Training
HSM Basic Training
 
Enhancement of security in rfid using rsa algorithm
Enhancement of security in rfid using rsa algorithmEnhancement of security in rfid using rsa algorithm
Enhancement of security in rfid using rsa algorithm
 
TS31103 ISIM introduction
TS31103 ISIM introductionTS31103 ISIM introduction
TS31103 ISIM introduction
 
Study of Java Card and its Application
Study of Java Card and its ApplicationStudy of Java Card and its Application
Study of Java Card and its Application
 

Similar to Inside .NET Smart Card Operating System - 44CON 2012

eSmartlock - an antipiracy dongle with integrated DRM functionalities
eSmartlock - an antipiracy dongle with integrated DRM functionalitieseSmartlock - an antipiracy dongle with integrated DRM functionalities
eSmartlock - an antipiracy dongle with integrated DRM functionalities
Yiannis Hatzopoulos
 
Safe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devicesSafe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devices
Soumitra Bhattacharyya
 
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdfDEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
Wlamir Molinari
 
งานนำเสนอ..
งานนำเสนอ..งานนำเสนอ..
งานนำเสนอ..
amphaiboon
 
NXP'S-PORTFOLIO-FOR-ADDRESSING-IOT-SECURITY.pdf
NXP'S-PORTFOLIO-FOR-ADDRESSING-IOT-SECURITY.pdfNXP'S-PORTFOLIO-FOR-ADDRESSING-IOT-SECURITY.pdf
NXP'S-PORTFOLIO-FOR-ADDRESSING-IOT-SECURITY.pdf
ssuser57b3e5
 
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMS
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMSANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMS
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMS
Journal For Research
 

Similar to Inside .NET Smart Card Operating System - 44CON 2012 (20)

Inside .NET Smart Card Operating System
Inside .NET Smart Card Operating SystemInside .NET Smart Card Operating System
Inside .NET Smart Card Operating System
 
eSmartlock - an antipiracy dongle with integrated DRM functionalities
eSmartlock - an antipiracy dongle with integrated DRM functionalitieseSmartlock - an antipiracy dongle with integrated DRM functionalities
eSmartlock - an antipiracy dongle with integrated DRM functionalities
 
Internet of Things (IoT) Security using stream cipher.ppt
Internet of Things (IoT)  Security using stream cipher.pptInternet of Things (IoT)  Security using stream cipher.ppt
Internet of Things (IoT) Security using stream cipher.ppt
 
Smart id's
Smart id'sSmart id's
Smart id's
 
Safe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devicesSafe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devices
 
Iot Security
Iot SecurityIot Security
Iot Security
 
Make the Smartcard great again
Make the Smartcard great againMake the Smartcard great again
Make the Smartcard great again
 
IOT Exploitation
IOT Exploitation	IOT Exploitation
IOT Exploitation
 
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdfDEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
 
Java card technology
Java card technologyJava card technology
Java card technology
 
Mobile application security and threat modeling
Mobile application security and threat modelingMobile application security and threat modeling
Mobile application security and threat modeling
 
งานนำเสนอ..
งานนำเสนอ..งานนำเสนอ..
งานนำเสนอ..
 
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 How to secure the Internet of Things? Hannes TschofenigCIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
 
Internet of things security "Hardware Security"
Internet of things security "Hardware Security"Internet of things security "Hardware Security"
Internet of things security "Hardware Security"
 
NXP'S-PORTFOLIO-FOR-ADDRESSING-IOT-SECURITY.pdf
NXP'S-PORTFOLIO-FOR-ADDRESSING-IOT-SECURITY.pdfNXP'S-PORTFOLIO-FOR-ADDRESSING-IOT-SECURITY.pdf
NXP'S-PORTFOLIO-FOR-ADDRESSING-IOT-SECURITY.pdf
 
CV_Arshad_21June16
CV_Arshad_21June16CV_Arshad_21June16
CV_Arshad_21June16
 
Lesson1 Contestada
Lesson1 ContestadaLesson1 Contestada
Lesson1 Contestada
 
Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013
 
Key2 share moosecon
Key2 share mooseconKey2 share moosecon
Key2 share moosecon
 
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMS
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMSANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMS
ANALYSIS OF SIDE CHANNEL ATTACKS ON VARIOUS CRYPTOGRAPHIC ALGORITHMS
 

More from 44CON

How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
44CON
 
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
44CON
 
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
44CON
 

More from 44CON (20)

They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
 
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
 
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
 
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
 
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
 
The UK's Code of Practice for Security in Consumer IoT Products and Services ...
The UK's Code of Practice for Security in Consumer IoT Products and Services ...The UK's Code of Practice for Security in Consumer IoT Products and Services ...
The UK's Code of Practice for Security in Consumer IoT Products and Services ...
 
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
 
Pwning the 44CON Nerf Tank
Pwning the 44CON Nerf TankPwning the 44CON Nerf Tank
Pwning the 44CON Nerf Tank
 
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
 
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
 
44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?
 
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
 
44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy
 
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
 
44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON London 2015 - Going AUTH the Rails on a Crazy Train44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON London 2015 - Going AUTH the Rails on a Crazy Train
 
44CON London 2015 - Software Defined Networking (SDN) Security
44CON London 2015 - Software Defined Networking (SDN) Security44CON London 2015 - Software Defined Networking (SDN) Security
44CON London 2015 - Software Defined Networking (SDN) Security
 
44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON London 2015 - DDoS mitigation EPIC FAIL collection44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON London 2015 - DDoS mitigation EPIC FAIL collection
 
44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities
 
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
 
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
 

Inside .NET Smart Card Operating System - 44CON 2012

  • 1. Inside .NET Smart Card Operating System 44Con, September 2012 Behrang Fouladi, SensePost behrang@sensepost.com
  • 2. What is a smart card? VS
  • 3. What is a smart card?
  • 5. Multi-Application Smart Card Card Parking Access Control Cashless Payments Computer Access Identification
  • 6. Did you know? • How many of you have Orange SIM cards? • What applications are running on your SIM card? • Any other apps working silently?
  • 7. Example: SIM Tracker Applet • Operators goal: sending the MMS/APN settings to the new handset • Can also be used for investigation purposes
  • 8. In The News… – Oyster card: Crypto-1 encryption algorithm attack, 2004 – Cambridge university: EMV relay attack, 2010 – Sykipot malware Targeting US DoD smart cards, 2011-2012
  • 10. Why?
  • 11. Why? • 8 billion smart cards by 2014 • The “Internet of Things” • Chip-enabled mobile payments • Hardware backdoors • Malware is everywhere!
  • 13. Multi-application Smart Card Platforms .NET card MULTOS JavaCard
  • 14. .NET Smart Card • First .NET virtual machine on the chip • Native support in Windows 7 and server 2008 • Used in: – Smart card based corporate badges (Microsoft employees badge) – Remote Access Control (USA DoD and UK MOD)
  • 15. .NET smart card overview
  • 16. .NET smart card security model App Domain B App Domain C App Domain A RSA Sig(B) RSA Sig(C) RSA Sig(A)
  • 20. Card application development Deployment & Debugging ?? ?? Communication (APDU) ??
  • 21. Card application development .NET assembly (1) Compiles program Converter (3) Signed card binary Plug-in (2) Conversion to card binary (4) .NET remoting comm. Comm. Proxy (5) APDU comm. Vendor’s SDK
  • 22. How secure is .NET card? • Has EAL5+ certified Infenion chip • EAL certification is widely used by smart card industry (EAL3 to EAL7) • .NET card OS is designed to achieve EAL4+ • EAL4+ audit: – takes 6 to 9 months, costs high 10sk to low 100sk £ – includes independent penetration testing and source code review in some case • No published vulnerabilities so far
  • 23. Rev. Engineering For Vuln. Discovery
  • 24. Smart Card Vuln. research • No Chip OS binary is available • Traditional tools (debuggers, disassemblers) are useless • No publicly available testing tools • Secure chips have sensors, shields, encryption • ON-card bytecode/IL code verifier
  • 26. HiveMod • Vulnerability research tool, for: – .NET card binary (Hive format) visualization – Card Binary manipulation – Card binary Re-signing
  • 27. .NET Card Binary Compiler Header Digital signature Header Object counters Header Namespaces reference table Types reference table Methods reference table Fields reference table Blob definitions Type definitions Method definitions Program code (IL code) RSA signature
  • 29. Manipulating Digital Signature Header Compiler Header Digital signature Header offset Field name size 32 SHA1 hash of the full assembly 20 Object counters Header 52 Public key token 8 60 RSA modulus length 4 (len) Namespaces reference table 64 RSA public exponent 4 Types reference table 68 RSA modulus len Methods reference table Fields reference table Blob definitions Type definitions Method definitions Program code (IL code) RSA signature
  • 30. Manipulating Digital Signature Header PBKT=Reverse(Right(SHA1(RSA_modulus),8))
  • 31. (Bypassing .NET card app Firewall) Old school attack: Public Key Token Spoofing
  • 32. Attack Demo Let’s use the HiveMod tool to test this vulnerability!
  • 33. Manual testing vs. HiveMod • Rev. engineering the SDK: ~2 months • Hex editor for binary patching : Frustrating • Modified card binary needs to be signed • Destroying at least 10 cards: ~200 Euros
  • 34. Real World Attack? (2) Payment GSM (data) Access control app Employee POS terminal corporate E-Purse app cafeteria (no GSM access) (4) save to card GSM (data) (1) Attacker plants malware in e-purse (3) Access control data exfiltration Attacker’s system
  • 35. Fiction or Real? Document available on the internet
  • 36. Vendor’s Response • “An attacker needs administration key to be able to upload his malicious application on the card, This Key is normally securely stored in a HSM or a smart card based controller”.
  • 37. Vendor’s Response • “Knowledge of the Public Key Token of the targeted application is required”.
  • 38. Vendor’s Response • “The targeted application must use private file-system storage for its data to be exposed. Therefore, internal (Application Domain) storage is immune to such attack”. byte[] key={0xaf,0x09,0x45,0x12,....};
  • 39. More Vulnerabilities... • Unauthorized memory read in InitializeArray(): public static void InitializeArray(Array array,RuntimeFieldHandle fldHandle); • Results: Partial memory dump • Destroys the card (no reliable exploitation yet)
  • 41. Conclusions • don’t worry! • check the apps PKTs for tampering. • Use a secure card management system • Smart card apps can be patched/updated , but not the card’s OS! • Smart cards OS and apps and card management software need pen tests too!
  • 42. Closing words • HiveMod Tool would be available to Smart Card vendors and security researchers (contact research@sensepost.com) • I’d like to thank Dr. Kostas Markantonakis for supervising my research