분류 전체보기 176

12주차 스터디

C++ 표준 템플릿 라이브러리 STL(Standard Template Library) - C++ 표준 라이브러리 중 하나 - 많은 제네릭 클래스와 제네릭 함수 포함 1. 컨테이너 - 템플릿 클래스 - 데이터를 담아두는 자료 구조를 표현한 클래스 - 리스트, 큐, 스택, 맵, 셋, 벡터 2. iterator - 컨테이너 원소에 대한 포인터 - 컨테이너의 원소들을 순회하면서 접근하기 위해 만들어진 컨테이너 원소에 대한 포인터 3. 알고리즘 - 템플릿 함수 - 컨테이너 원소에 대한 복사, 검색, 삭제, 정렬 등의 기능을 구현한 템플릿 함수 - 컨테이너의 멤버 함수 아님 헤더 파일 - 컨테이너 클래스를 사용하기 위한 헤더 파일 - 해당 클래스가 선언된 헤더 파일 include #include #include #..

C++ 2022.12.11

11주차 스터디

함수 중복의 약점 - 중복 함수의 코드 중복 일반화와 템플릿 제네릭(generic) - 함수나 클래스를 일반화, 매개 변수 타입을 지정하여 틀에서 찍어내듯이 함수나 클래스 코드를 생산하는 기법 템플릿 함수나 클래스를 일반화하는 도구 template 키워드로 함수나 클래스 선언 변수나 매개 변수의 타입만 다르고, 코드 부분이 동일한 함수를 일반화시키 제네릭 타입 : 일반화를 위한 데이터 타입 템플릿 선언 template template template 구체화(specialization) - 템플릿의 제네릭 타입에 구체적인 타입 지정 - 템플릿 함수로부터 구체화된 함수의 소스코드 생성 template void myswap(T &a, T &b) { T tmp; tmp = a; a = b; b = tmp; } ..

C++ 2022.12.04

클라우드의 시작과 끝, 클라우드 보안

보안 - 클라우드 전환 주저의 주요 원인. 데이터 유출 등 보안 문제만 없다면 얼마든지 클라우드 전환을 가속할 수도 있다. 클라우드 전환 초창기 : 기업의 업무 시스템 중 규모가 작고 중요도가 낮은 시스템 위주로 시범적으로 전환되는 시기 - 일부 인프라만 클라우드로 전환된 상태. - 대부분 보안 위협이 Legacy와 동일함. -> 기존 보안 솔루션과 수작업에 의한 보안 진단을 통해 대응 가능. 가장 큰 보안 위협 = 보안 정책과 진단 부재에 의한 혼란 클라우드 시범 적용 : Best Practice를 만들어 이후 다른 업무 시스템 전환에 적용하기 위함. 보안 누락된 상태로 만들어지 BP는 초창기는 물론, 이후 클라우드 전환의 모든 과정을 위태롭게 만들 수 있음. 클라우드 특성 반영된 보안 정책 선제적 수..

기술스터디 2022.11.29

디지털 증거 획득, 증거 수집 방안

증거 획득 방식 저장매체 복사 원본 읽기 -> 사본 쓰기 장점 - 비교적 손쉬운 방법으로 수집 가능 - 필요한 데이터만 빠르게 수집 가능 -> 신속한 분석 - 활성 시스템(시스템 전원을 내릴 수 없는 경우)에서 유용하게 활용 단점 - 활성 시스템의 무결성 훼손 -> 무결성 훼손을 최소화하는 방안 필요(fcopy) 저장매체 복제 원본의 모든 물리적 섹터 -> 사본 저장매체 비트스트림 복제 장점 - 무결성 유지 - 원본의 모든 정보 획득 -> 삭제된 파일 복구 가능 단점 - 원본보다 크거나 동일한 사본 저장매체가 필요 -> 사본 저장매체의 낭비 - 사본 저장매체(기기) 특성에 종속 (저장매체 오류 및 물리적 배드섹터) - 복제 전 사본 저장매체의 완전삭제(wiping)가 필요 저장매체 이미징 원본의 모든 물..

디지털 포렌식 2022.11.29

10주차 스터디

protected 접근 지정 - private 멤버 선언된 클래스 내에서만 접근 가능 파생 클래스에서도 기본 클래스의 private 멤버 직접 접근 불가 - public 멤버 선언된 클래스나 외부 어떤 클래스, 모든 외부 함수에 접근 허용 파생 클래스에서 기본 클래스의 public 멤버 접근 가능 - protected 멤버 선언된 클래스에서 접근 가능 파생 클래스에서만 접근 허용 - 파생 클래스가 아닌 다른 클래스나 외부 함수에서는 protected 멤버를 접근할 수 없다. 생성자 호출 관계 및 실행 순서 A의 파생인 B의 파생 C 클래스 제일 아래 클래스부터 윗 클래스까지 순서대로 호출되고, 그 반대로 실행 및 리턴 실행은 A부터니까 생성자 A -> 생성자 B -> 생성자 C 순서로 출력되고, 소멸자는..

C++ 2022.11.24

9주차 스터디

함수 중복 간소화 - 디폴트 매개 변수의 장점 - 중복 함수들과 디폴트 매개 변수를 가진 함수를 함께 사용 불가능함. class Circle{ ....... public: Circle() { radius = 1; } Circle(int r) { radius = r; } Circle(int r = 1) { radius = r; } //중복된 함수의 동시 사용 불가 중복 간소화 연습 함수 중복의 모호성 중복이 모호하여 컴파일러가 어떤 함수를 호출하는지 판단하지 못하는 경우 - 형 변환 - 참조 매개 변수 - 디폴트 매개 변수 static 멤버와 non-static 멤버의 특성 - static 변수와 함수에 대한 기억 부류의 한 종류 생명 주기 = 프로그램이 시작될 때 생성돼서, 종료할 때 소멸함 사용 범위 ..

C++ 2022.11.19

디지털 트윈 트렌드 - 1. 디지털 트윈의 정의와 비즈니스 적용 방안

약 20년 전 미국 미시간대의 마이클 그리브스 교수가 처음 개시한 개념. 제품의 생애주기 관점에서 최초로 제안, 제품 공정 관리 연구에서 가장 효율적인 방안을 찾다가 구상한 내용. -> 당시 디지털 트윈과 물리적 트윈 사이의 상호작용을 구축해 이를 통한 지능화를 이끌어 낼 수 있다는 획기적 주장. '현실과 가상의 미러링, 또는 트윈닝의 사이클' 데이터가 현실 객체-> 가상 가상 -> 현실객체 : 정보와 과정의 이동 위 개념도를 요약하면 현실에서 가상으로 데이터가 이동하고, 가상세계에서 현실로 정보/과정이 이동한다. 당시에는 이를 뒷받침할 하드웨어 또는 정보기술 등이 없었기 때문에 제품 공정을 가상에 구현할 만한 기술이 제한적이었다. 하지만 지난 20년간 새로운 기술들이 급격히 개발되었고 이제는 디지털 트..

기술스터디 2022.11.19

메모리 포렌식

메모리 포렌식 목적 - 프로세스의 행위 탐지 - 네트워크 연결 정보 - 사용자 행위 - 복호화, 언패킹, 디코딩된 데이터 - 패스워드와 암호키 획득 메모리 포렌식 대상 - 물리메모리 - 페이지 파일 - 하이버네이션 파일 물리 주소 확장(PAE, Physical Address Extension) - 물리적 주소 지정 비트를 32 비트 -> 36비트 확장(4GB -> 64GB) - 접근 가능한 물리 주소 공간 증가 bcdedit (BCD, Boot Configuration Data) 윈도우 2003 이전에서 PAE 설정 - %SystemDrive%\boot.ini 파일에 /PAE 스위치 추가 - 확장된 주소 공간 접근을 위해 AEW(Address Windowing Extensions) API 사용 - PAE..

디지털 포렌식 2022.11.18

ESRC 보안 동향 보고서 - 최신 보안 동향

1. 네이버 개인정보 수정 페이지를 위장한 피싱 페이지 주의! '네이버 계정이 불법 도용되고 있습니다.' 라는 제목의 피싱 메일이 유포되고 있다. 이메일 내 비밀번호 변경하기 버튼으로 사용자의 클릭을 유도한다. 클릭 시, 공격자가 제작해 놓은 피싱 페이지로 이동하게 된다. 해당 피싱 페이지는 기존 피싱 메일이 네이버 로그인 페이지를 위장했던 것과 달리 네이버 내 정보 페이지로 위장하고 있다. 또한 사용자의 의심을 피하기 위해 일부 버튼은 실제 페이지에서 동작하는 것처럼 보이도록 제작해놓았다. 그러나 2022년 2월 부로 내 정보 페이지가 네이버 ID 페이지로 변경되어 더 이상 해당 명칭을 사용하지 않는데 공격자는 해당 사실을 모르는 듯 예전 명칭으로 페이지를 제작해놓았다. -> 서비스 업데이트를 제대로 ..

기술스터디 2022.11.13