이슈를 발견한 후에 바로바로 수정하면서 크래시에 대응하는 방법도 있습니다. 하지만 개발 초기가 아니라 개발 후기 또는 라이브 서버였다면 어떨까요? 서비스 장애가 빈번히 발생해 사용자에게 치명적인 경험을 줄 수도 있습니다. 그래서 크래시를 미리 확인할 방법을 마련해 이슈에 선제대응할…
Onstage
RESTful API 서버를 위협하는 한 글자, 슬래시 – CVE-2016-5007
CVE-2016-5007 취약점은 2016년 7월 7일에 최초 공개됐습니다. 어느덧 최초 공개일로부터 5년을 훌쩍 넘었습니다. 하지만 최근까지도 스프링 프레임워크 기반 RESTful API 서버를 사용하는 여러 서비스에서 심각한 보안 위협이 발견되고 있어서, 연구 과제로 선정했습니다..
리눅스용 메모리 프로파일러, Heaptrack(2/2)
GUI 환경에서 동작하는 GUI 분석기는 WSL로 설치한 리눅스 셸에서 실행해야 합니다. 리눅스 안에서 파일을 찾아 이동하는 건 번거로울 수 있으니, 수집 파일이 들어 있는 폴더 위에서 ‘Shift + 우클릭’을 누르면 ‘여기에서 Linux 셸 열기’로 바로 들어가는 방법을 추천합니다.
리눅스용 메모리 프로파일러, Heaptrack(1/2)
Heaptrack은 모든 메모리 할당마다 스택 트레이스(Stack Traces) 주석을 붙입니다. 전용 분석 도구를 활용해 힙 메모리(Heap Memory) 프로필도 볼 수 있으므로, 메모리릭이 발생하는 지점을 찾을 수 있습니다. Heaptrack은 크게 두 부분으로 구성돼 있습니다.
OWASP Top 10 – 2021 톺아보기(2/2)
보안 설정 오류(Security Misconfiguration)는 애플리케이션을 최초 설치하거나 업데이트할 때 보안성을 고려하지 않은 설정으로 인해 취약점이 발생하는 경우로, 설정과 관련된 모든 부분을 포함하고 있습니다. XXE(XML External Entity) 항목은…
OWASP Top 10 – 2021 톺아보기(1/2)
OWASP는 ‘Open Web Application Security Project’라는 비영리 보안 프로젝트 재단을 통칭하는 약자입니다. 이 재단에서는 애플리케이션에서 발생할 수 있는 취약점을 분석하고 연구하고 있습니다. 2001년 12월 1일에 OWASP 재단으로 발족한 이후…
300ms를 바꾸는 함수 호출 순서
로그와 Try-Catch 구문으로 구간별 상황을 확인하던 중, 두 함수가 눈에 들어왔습니다. ‘BeginAccept()’ 함수와 ‘ConnectionHandler()’ 함수였습니다. ‘BeginAccept()’ 함수는 클라이언트에서 들어오는 연결(Connect) 요청을 대기하는…
C/C++ 대규모 프로젝트에서 빌드 속도를 올려보자
상용 툴 이외에는 어떤 방법이 있을지, 효율적으로 빌드속도를 개선할 방법은 없을지 궁금해서 더 찾아보던 중 눈에 들어온 방법이 유니티 빌드(Unity Build)였습니다. 여기서 이야기하는 유니티 빌드는 지금 우리가 흔히 떠올리는 유니티(Unity) 게임 엔진 이야기가 아닙니다.
RPS 설정으로 네트워크 부하를 분산하라
부하는 꾸준히 유지하고 있는 중이므로, 최초에는 이 부하를 소화하기 위해 오토스케일링에 맞춰 파드 개수가 늘어납니다. 불현듯 어느 순간 파드가 중단되면서, 전체 파드 개수가 줄어듭니다. 파드 개수는 줄어들지만 부하는 계속 유지되고 있으므로, 남아있는 파드의 평균 CPU 사용률이…
스프링 프레임워크의 OAuth 인증을 무력화하는 오픈 리다이렉터 – CVE-2019-3778
CVE-2019-3778 취약점은 2019년 1월 3일에 최초 공개됐습니다. 어느덧 최초 공개한지 3년이 다 돼 가는군요. 하지만 여전히 OAuth 인증을 사용하는 다양한 서비스에서 지속해서 발견되고 있어서, 연구 과제로 선정했습니다. 이 취약점은 스프링 특정 버전에서 발생하며…