Security
-
https에 사용되는 SSL/TLS 인증과정Security 2024. 2. 14. 16:26
현재 진행중인 프로젝트에서 nginx를 프론트 서버로도 사용하고 있지만(빌드된 프론트엔드 파일 배포), 추가적으로 백엔드 서버와의 http 통신을 리버스 프록시를 이용해 nginx가 담당해주고 있다. 이렇게하면 SSL/TLS 인증과정을 모두 nginx가 담당하게 되고, 백엔드 서버는 REST API 서버로 사용되며 서비스 처리에만 집중할 수 있게 된다. 이렇게 개발하면서, SSL/TLS 인증과정의 오버헤드가 얼마나 크길래 nginx에게 인증과정을 맡기는것이 더 빠른가? 라는 의문점이 생겼다. 사실 이 오버헤드는 대칭키/비대칭키 암호화 알고리즘 때문에 생기는 것이였는데, 그래서 이 과정에대해 간단하게 정리해보려 한다. SSL/TLS 인증 과정 전체적으로 요약해보면 서버-클라이언트간 비대칭키 암호화 방식을 ..
-
리버스 엔지니어링 - 2Security 2021. 2. 7. 01:04
지난번에 디컴파일 후 분석중이던 원스토어 클라이언트를 계속해서 분석해보았다. 분석해볼 패키지명을 찾던 도중, firebase라는 익숙한 단어가 눈에 들어와 곧장 열어보았다. 실제로 연동해본적은 없지만, firebase를 데이터베이스 관련 회사인것으로 알고 있었다. 궁금해서 찾아보니 앱 개발 플랫폼으로도 다양하게 사용되고 있다는것을 알게되었다. 1. 분석 오늘 열어본 파일은, 파일 이름이 난독화되어있어 자세항 기능은 알 수 없지만, 상위 패키지명이 messaging이기 때문에 firbase에서 출력하는 메세지들에 관한 파일로 추측되었다. 이번에도 smali 코드 - java 코드 간 차이를 보고 smali 코드를 이해하는 방식으로 진행했다. 지난번에 분석했던 파일과 다르게, smali 코드에서 invoke..
-
안드로이드 리버스 엔지니어링Security 2021. 2. 3. 17:15
리버스 엔지니어링(Reverse Engineering) 소프트웨어 공학의 한 분야로, 이미 만들어진 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 일을 말한다. 이것은 시스템을 이해하여 적절히 변경하는 소프트웨어 유지보수 과정의 일부이다. [네이버 지식백과] 리버스엔지니어링 [reverse engineering] (두산백과) 리버스 엔지니어링은 위의 내용과 같이 이미 만들어진 소프트웨어를 디컴파일해서 앱의 구성이나 설계구조를 분석하여 개발에 도움을 줄 수 있다. 주로 소스코드를 구하기 힘든 악성 소프트웨어와 같은 프로그램을 분석해서 이를 미리 알고 공격을 예방하는 부분에서 사용되기도 한다. 다른 방식으로는, 이미 만들어진 소프트웨어로부터 프로그램의 구성이나 사용된 라이브러리 정보..