분류 전체보기 331

랜섬웨어로 가장하는 APT 공격

최근 10년 간 사이버공격에서 빼놓을 수 없는 것들이 바로 랜섬웨어와 APT다. 우리는 그것을 각각 조심해야 하는 치명적인 공격으로 간주하고 있다. 그런데 그것들이 이제는 하나로 더해져서 위협으로 찾아오고 있다. 그러니까 APT 공격을 하는 단체가 일부러 랜섬웨어로 가장을 실시하는 것인데, APT 공격을 실시하면서, 공격이 들키면 랜섬웨어인 것처럼 하는 것이다. 그렇게 되면 피해자는 '아 랜섬웨어구나' 하면서 랜섬웨어 공격에 따른 회사의 대응 지침을 따를 것이다. 랜섬웨어가 워낙 유명한 공격이기도 하니 돈을 줘서 해결해야겠구나 하는 생각으로 끝날 수 있을 것이다. 그런데 랜섬웨어는 그저 가면일 뿐인 것이다. 공격자들의 진의는 정보 탈취이기 때문에 랜섬웨어로 가장하여 시간을 벌면서 계속 정보 탈취를 시도하..

보안/뉴스 2024.07.02

C++ 문자열 토큰화(Tokenizing) 총정리

1. 문자열 토큰화의 개념문자열의 토큰화는 일부 구분 기호에 대해 문자열을 분할하는 것을 의미한다. 문자열을 토큰화하는 방법은 여러 가지가 있는데, 이 글에서는 그 중 네 가지에 대해 설명하도록 한다. ① 문자열스트림(stringstream) 사용문자열 스트림은 문자열 개체를 스트림과 연결하여 문자열에서 스트림인 것처럼 읽을 수 있다. 예시:// Tokenizing a string using stringstream #include  using namespace std; int main() {      string line = "Please see my tistory";      // Vector of string to save tokens      vector  tokens;      // strings..

C++ 2024.07.02

C++ 문자열 연결(String Concatenation) 총정리

1. 문자열 연결 도입문자열은 문자를 저장하는 데 사용되는 일종의 데이터 구조다. 사용자 정의 방법, 사전에 정의된 방법을 사용하여 문자열을 연결하는 방법이 몇 가지 존재한다. 그 모든 것을 확인해 보도록 한다. 그리고 특수하게, C 스타일에서는 되지만 C++ 스타일에서는 되지 않는 것들도 전부 알아보도록 한다.문자열을 연결하는 방법은 총 6가지이다.① append( ) 함수 사용② + 연산자 사용③ strcat( ) 함수 사용④ for 루프 사용⑤ 상속 사용⑥ Friend 함수와 strcat( ) 함수 사용2. append( ) 함수 사용하여 문자열 연결append() 함수는 std::string 클래스의 멤버 함수다. 이 함수를 사용하면 아래 예시와 같이 두 개의 std::string 개체를 연결할 ..

C++ 2024.07.02

카카오톡, 보안 구멍 찾아줬으나 외국인이라 보상 없다

최근 카카오톡에서 다른 이용자 계정을 탈취하여 그간 주고받은 메시지를 확인할 수 있는 보안 취약점이 발견돼 패치가 이뤄졌다. 그런데, 그 취약점을 발견한 사람이 한국인이 아니라는 이유로 보상을 받지 못했다고 한다. D. Schmidt라는 보안연구원은 원클릭 익스플로잇을 발견했고, 이는 카카오톡 10.4.3 버전의 딥링크 유효성 검사 문제로 인해 원격 공격자가 웹뷰에서 임의의 자바스크립트를 실행, HTTP 요청 헤더의 엑세스 토큰을 유출할 수 있는 문제였다. 이 토큰을 공격자의 기기에 등록함으로써 다른 계정을 탈취하여 채팅을 확인할 수 있던 것이었다. 이 취약점은 CVE-2023-51219로 지정됐다. D. Schmidt는 2023년 12월에 개최한 버그바운티에서 해당 취약점을 발견해 신고했고, 카카오톡은..

보안/뉴스 2024.07.01

주요정보통신기반시설 정보자산관리지침 개념 추출

정보자산 분류① 서버: 사용자에게 특정 서비스를 제공하기 위한 기능의 운영체제 및 프로그램이 설치되어 있는 장비② 네트워크장비: 서비스 운영 및 제반 업무를 위해 설치된 네트워크 장비③ 보안장비: 서비스 보안 운영을 위한 보안 장비④ DBMS: 업무 및 서비스 운영에 필요한 데이터 관리를 위해 대·내외적으로 사용되고 있는 Database 관리시스템⑤ PC: 업무 수행을 목적으로 정보를 처리하는 단말기⑥ 기타장비: 각종 시스템 및 네트워크 장비의 운영을 지원하기 위한 장비 정보자산 중요도 평가: 기밀성① 상: 자산이 유출되는 경우 업무수행 또는 서비스에 중대한 영향을 미치는 경우로, 관리자, 담당자 또는 담당부서만이 접근 및 열람이 가능한 정보 자산② 중: 자산이 유출되는 경우 업무수행 또는 서비스에 일부..

보안/개념 2024.06.28

소프트웨어 보안약점 진단가이드(2021) 개념 추출

소프트웨어 분석·설계단계 진단 절차① 착수단계: 착수 회의 실시② 진단단계: 산출물 접수 → 산출물 검토 → 보안약점 진단 및 개선방안 도출 → 공동리뷰 → 개선방안 확정③ 보고서 작성 및 제출 단계:  보고서 초안 작성 → 공동리뷰 → 보고서 제출④ 종료단계: 종료회의 실시  분석단계 산출물① 요구사항 정의서: 애플리케이션 개발에 필요한 기능, 품질, 기술 등 시스템 관련 요구사항을 도출 하여 발주사와 내용을 합의하고 정리하여 체계적으로 작성한 문서② 요구사항 추적표: 도출된 요구사항을 기반으로 개발 각 단계별로 작성한 산출물들이 일관성 있게 작성되었는지 추적할 수 있도록 작성된 문서③ 유즈케이스 명세서: 유즈케이스 다이어그램에 표현된 각 유즈케이스를 상세하게 설명하는 문서로 액터와 유즈케이스간 상호작..

보안/개념 2024.06.28

홈페이지 개인정보 노출방지 안내서(8차) 개념 추출

개인정보 종류① 인적사항: 일반정보(이름, 주민등록번호, 주소, 운전면허번호, 연락처, 성별 등), 가족정보(가족관계, 가족구성원정보 등)② 신체적 정보: 신체정보(얼굴, 음성, 지문, 홍채, 유전자 정보, 키, 몸무게 등), 의료 • 건강 정보(건강상태, 병력기록, 의료기록, 신체장애, 혈액형 등)③ 사회적 정보: 교육정보(출석여부, 학력, 성적, 자격증 및 면허증, 생활기록부 등), 병역정보(병역여부, 제대유형, 군번 및 계급, 주특기, 근무부대 등), 근로정보(직장, 고용주, 근무처, 근로경력, 직무평가기록 등), 법적정보(재판기록, 범죄 및 전과 기록, 과태료 납부내역 등)④ 정신적 정보: 기호 • 성향 정보(대여 목록, 구독정보, 구매내역, 검색내역 등), 내면의 비밀 정보(사상, 신조, 종교,..

보안/개념 2024.06.28

소프트웨어 개발보안 가이드(21.12) 개념 추출

소프트웨어 개발 생명주기① 정의단계: 무엇(what)을 처리하는 소프트웨어를 개발할 것인지 정의하는 단계로 타당성 검토단계, 개발계획단계, 요구사항 분석단계로 나눌 수 있다.② 개발단계: 어떻게(How)에 초점을 두고 실제로 소프트웨어를 개발하는 단계이다. 설계단계, 구현단계, 테스트단계로 나눌 수 있다.③ 유지보수단계: 소프트웨어를 직접 운영하며, 변경(Change)에 초점을 두고 여러 환경변화에 따라 소프트웨어를 적응 및 유지시키는 단계이다.  대표적인 개발생명주기 모델① 개발수정 모델: 요구사항, 분석/설계 단계 없이 일단 개발에 들어간 후 만족할 때까지 수정작업을 수행하는 방식② 폭포수 모델: 순차적으로 소프트웨어를 개발하는 전형적인 개발모델로 소프트웨어 개발의 전 과정을 나누어 체계적이고 순차적..

보안/개념 2024.06.27

공개SW를 활용한소프트웨어 개발보안 점검가이드(19.06) 개념 추출

Spotbugs Spotbugs는 자바 바이트 코드(byte code)를 분석하여 버그 패턴을 발견하는 정적분석 공개소프트 웨어다. 이는 기존에 존재하던 정적분석 공개소프트웨어인 FindBugs를 계승한 프로젝트다.  Spotbugs에서 탐지 가능한 오류 유형① Bad practice: 클래스 명명규칙, null 처리 실수 등 개발자의 나쁜 습관을 탐지② Correctness: 잘못된 상수, 무의미한 메소드 호출 등 문제의 소지가 있는 코드를 탐지③ Dodgy code: int의 곱셈결과를 long으로 변환하는 등 부정확하거나 오류를 발생시킬 수 있는 코드를 탐지④ Experimental: 메소드에서 생성된 stream이나 리소스가 해제하지 못한 코드를 탐지⑤ Internationalization Def..

보안/개념 2024.06.27
728x90