Diffie-Hellman 키 교환 원리와 중간자 공격(MITM)
2026-06-07
Diffie-Hellman 키 교환은 공개된 네트워크 환경에서 두 사용자가 안전하게 공유 비밀키를 생성할 수 있도록 하는 대표적인 키 교환 알고리즘이다. 하지만 Diffie-Hellman은 상대방의 신원을 검증하지 않으면 중간자 공격(MITM)에 취약할 수 있다...
1778 단어
|
9 분
PySide6 GUI 개발의 기본 구조 이해하기
2026-06-05
GUI는 사용자가 버튼, 창, 입력창과 같은 화면 요소를 통해 프로그램과 상호작용할 수 있게 해주는 방식이다. 이번 글에서는 Qt와 PySide6의 기본 개념, 위젯, 레이아웃, 시그널과 슬롯, 이벤트 루프를 중심으로 Python GUI 개발의 기본 구조를 설명하도록 하겠다.
1747 단어
|
9 분
Polyfill.io로 알아보는 시큐어 코딩과 의존성 관리
2026-06-05
시큐어 코딩이라고 하면 보통 SQL Injection, XSS, 비밀번호 해시 처리 같은 전통적인 보안 개념을 먼저 떠올린다. 물론 이런 내용도 중요하다. 하지만 실제 개발에서는 내가 직접 작성한 코드뿐만 아니라 프로젝트가 외부에서 불러오는 스크립트와 라이브러리도 보안에 큰 영향을 준다. 구버전 브라우저 호환성을 위해 널리 쓰이던 Polyfill.io는 도메인 소유권이 바뀐 뒤 악성 스크립트가 삽입되는 공급망 공격이 발생했고 CVE-2024-38526으로 등록되었다. 따라서 필자는 이번 글에서 Polyfill.io 사례를 중심으로 시큐어 코딩을 왜 단순한 코드 작성 습관이 아니라 전체 개발 과정의 보안 관리로 봐야 하는지 설명하도록 하겠다.
3004 단어
|
15 분
쿠키와 세션으로 알아보는 웹 인증 구조와 보안
2026-06-05
웹 서비스에서 로그인은 단순히 아이디와 비밀번호를 확인하는 기능이 아니다. HTTP의 Stateless 구조를 이해하고, 쿠키와 세션이 어떻게 사용자를 식별하는지 알아본 뒤 XSS, CSRF, 세션 탈취 같은 보안 문제와 방어 방법을 정리한다.
3583 단어
|
18 분
웹 캐시는 어떻게 정보 유출 취약점이 되는가
2026-06-02
웹 캐시는 서비스 속도를 높이기 위한 중요한 기술이지만, 잘못 설정하면 개인 응답이 다른 사용자에게 노출되거나 CDN을 통해 오염된 응답이 전파될 수 있다. Cache-Control, 캐시 키, CDN 캐싱 구조를 중심으로 웹 캐시가 어떻게 보안 문제로 이어지는지 정리한다.
4876 단어
|
24 분
C언어 핵심 개념 정리: 구조체, 함수, 동적할당
2026-05-28
C언어를 공부하면서 구조체, 함수, 동적할당은 데이터를 효율적으로 다루기 위해 중요한 개념이라는 것을 알게 되었다. 이번 글에서는 구조체, 함수, 동적할당의 기본 개념과 각각의 역할, 그리고 세 개념이 어떻게 연결되는지 정리하도록 하겠다.
2414 단어
|
12 분
Anti-Debugging 기법과 우회 전략
2026-05-12
리버스 엔지니어링은 바이너리의 내부 로직을 들여다보는 가장 강력한 도구다. 그러나 소프트웨어 보호 관점에서는 이를 차단해야 할 필요가 있다. 그래서 등장한 기술이 Anti-Debugging이다. 하지만 Anti-Debugging은 만능이 아니다. 리버서는 API 후킹이나 PEB 패치로 이를 우회할 수 있다. 따라서 필자는 이번 글에서 Anti-Debugging의 내부 동작 원리와 주요 우회 기법, 그리고 강화된 방어 전략까지 설명하도록 하겠다.
1755 단어
|
9 분
Reversing 정적 분석부터 동적 분석까지
2026-05-12
리버싱은 실행 파일의 내부 구조와 동작 원리를 분석하여 프로그램이 어떤 방식으로 동작하는지 이해하는 기술이다. 이번 글에서는 합법적인 분석 환경을 전제로 정적 분석과 동적 분석의 기본 흐름, 어셈블리 해석, 디버깅, 패치 원리, 방어 관점까지 설명하도록 하겠다.
3406 단어
|
17 분