TLS 암호화를 써도 메모리덤프 등으로 조회하면 다 노출이 되는 리스크가 있는걸까?
TLS는 데이터를 전송하는 동안 암호화를 제공하여 데이터를 안전하게 전송하는 프로토콜입니다. TLS를 사용하면 데이터가 암호화되므로 네트워크상에서 중간에 가로채어도 알아볼 수 없습니다. 그러나 TLS는 데이터가 메모리에 저장될 때는 암호화되지 않으며, 이 때 메모리 덤프가 있을 경우 데이터가 노출될 가능성이 있습니다.
메모리 덤프란 프로그램이 실행되는 동안 시스템 메모리에 저장된 내용을 파일로 저장하는 것입니다. 메모리 덤프를 수행하는 공격자가 있을 경우, TLS로 보호되는 데이터가 메모리에 저장될 때는 암호화되지 않으므로, 공격자가 해당 파일을 열어보면 데이터가 노출될 가능성이 있습니다.
그러나 이는 TLS 프로토콜 자체의 문제가 아니라 시스템 보안의 문제입니다. TLS를 사용할 경우, 데이터를 전송하는 동안에는 안전하게 암호화되므로 중간에서 데이터를 가로채더라도 알아볼 수 없습니다. 따라서 시스템 보안을 강화하여 메모리 덤프 등의 공격을 방어하는 것이 중요합니다. 예를 들어, 메모리 덤프를 방지하는 솔루션이나, 메모리 상에 저장된 데이터를 암호화하는 솔루션 등을 적용할 수 있습니다.
여기서 메모리덤프는 어떤 컴퓨터의 메모리를 이야기하는 걸까?
메모리 덤프(memory dump)는 컴퓨터의 물리적 메모리(RAM)에 저장된 내용을 파일로 덤프하는 것을 말합니다. 즉, 프로그램이나 운영체제 등이 메모리에 올린 데이터나 코드, 변수 등이 파일 형태로 저장되는 것입니다.
메모리 덤프는 보안 전문가나 해커 등이 시스템의 보안 취약점을 분석하거나, 디버깅을 위해 사용되기도 합니다. 하지만 악의적인 목적으로 사용될 경우, 메모리 덤프를 통해 시스템에서 중요한 정보를 탈취하는 등의 공격이 이루어질 수 있습니다. 따라서 시스템 보안을 강화하는 것이 중요합니다.
모바일에서 웹서비스로 https 로 통신되는 서비스를 이용하는 경우에, 메모리 덤프로 이용자의 데이터가 노출될 수 있을까?
모바일에서 웹 서비스로 HTTPS를 통해 통신하는 경우, 데이터는 암호화되어 전송되므로 중간에 가로채어도 데이터를 복호화하지 않으면 의미가 없습니다. 따라서 HTTPS를 사용하는 경우, 중간에 데이터를 가로채더라도 데이터가 노출될 가능성은 매우 적습니다.
그러나 메모리 덤프 공격을 받을 경우, 앱의 메모리에 저장된 데이터가 노출될 가능성이 있습니다. 메모리 덤프 공격은 모바일 앱에서도 가능하며, 메모리 덤프 파일을 수집한 공격자는 해당 파일을 분석하여 중요한 정보를 추출할 수 있습니다.
따라서 모바일 앱에서도 HTTPS를 사용하여 데이터를 암호화하고, 민감한 정보는 메모리에 저장하지 않는 것이 좋습니다. 또한, 모바일 앱에서는 안드로이드나 iOS와 같은 운영체제에서 제공하는 보안 기능을 이용하여 메모리 덤프 공격을 방어할 수 있습니다. 더불어, 적절한 취약점 분석과 보안 검토를 통해 앱 보안을 강화하는 것이 필요합니다.
웹서비스를 이용하는 모바일기기의 메모리덤프 공격을 하려면 어떤 권한을 획득해야 가능할가?
웹서비스를 이용하는 모바일 기기의 메모리 덤프 공격을 하기 위해서는 보통 해당 모바일 앱의 권한을 획득해야 합니다. 따라서, 공격자는 해당 앱의 취약점을 이용하여 권한 상승을 시도하거나, 앱을 해킹하여 권한을 획득해야 할 수 있습니다.
일반적으로 안드로이드 기기에서는 권한을 획득하기 위해서는 앱에게 권한을 요청하고, 사용자가 권한을 허용해야 합니다. 그러나, 모바일 앱에 취약점이 있을 경우, 공격자는 해당 취약점을 이용하여 권한을 상승시키는 방법을 시도할 수 있습니다.
또한, iOS 기기에서도 취약점을 이용하여 권한을 상승시키는 방법이 있을 수 있습니다. 예를 들어, iOS의 경우 앱 간 공유 컴포넌트를 이용하여 다른 앱의 권한을 이용할 수 있는 취약점이 발견된 적이 있습니다.
따라서, 모바일 앱 개발자는 모바일 앱 보안을 강화하는 것이 중요하며, 앱에 취약점이 있는지 주기적으로 검토하여 보안 취약점을 최소화하는 것이 필요합니다.
단말기를 획득하고,
획득한 단말기의 권한(루팅, 탈옥)을 획득하고,
메모리 덤프를 뜨게 되면,
취약점이 있는 앱서비스, 웹서비스 등을 사용했다면,
해당 유저의 중요 개인 정보들은 모두 노출이 되게 된다.
다음번에는 웹취약점의 가장 기본, OWASP TOP 10에 대해서도 알아보겠습니다 ! :)
'Step for Studying > Security' 카테고리의 다른 글
ChatGPT와 나눈 보안 이야기 <메모리 덤프의 위협성> (3) | 2023.04.24 |
---|---|
웹보안에서 가장 중요한 OWASP TOP 10 (0) | 2023.04.18 |
[eng] Does WebRTC require SSL (Secure Socket Layers) to be enabled for integration? (0) | 2023.04.14 |
webRTC 연동시에 SSL(Secure Socket Layers) 안쓰면 활성화가 안되나요? (0) | 2023.04.14 |