소프트웨어공학 18

써드 파티(3rd party)

하드웨어 생산자와 소프트웨어 개발자의 관계를 나타날 때 사용한다. 써드 파티는 프로그래밍을 도와주는 라이브러리를 만드는 외부 생산자를 뜻한다. 컴퓨터 제조업체 측면 자사의 컴퓨터를 위한 부가 장치나 소프트웨어가 많은 기업에서 발매되면 결과적으로 자사의 하드웨어 매상이 증가하기 때문에 특허료나 저작권료를 제 3자에게 청구하는 예는 드물고, 오히려 부가 장치나 소프트웨어의 개발을 서드파티에게 맡김으로써 서드파티를 육성하게 된다. 개발자 측면 하드웨어 생산자가 직접 소프트웨어를 개발하는 경우 : 퍼스트 파티 개발자 하드웨어 생산자인 기업과 자사간의 관계에 속한 소프트웨어 개발자 : 세컨드 파티 개발자 아무 관련없는 제 3자 소프트웨어 개발자 : 서드 파티 개발자 주로 편한 개발을 위해 플러그인이나 라이브러리 ..

12. 사회공학(사이버 세계의 범죄)

01 사회공학의 이해 사회공학 사회공학에 취약한 조직 사회공학 공격 대상 02 사회공학 기법 인간 기반 사회공학 기법 03 사회공학 사례와 대응책 컴퓨터 기반 사회공학 기법 01 사회공학의 이해 사회공학 컴퓨터 보안에서 인간 상호 작용의 깊은 신뢰를 이용하여 사람을 속여 정상 보안 절차를 깨뜨리고 비기술적인 수단으로 정보를 얻는 행위 Ex.) 한 예로 정보를 얻기 위해 “혹시 00에 아는 사람 있어? 라고 묻는 것이 사회공학 이용 사회공학에 취약한 조직 직원 수가 많은 조직 구성체가 여러 곳에 분산된 조직 조직원의 개인 정보를 쉽게 획득할 수 있는 조직 보안 교육을 하지 않는 조직 정보의 분류와 관리가 허술한 조직 사회공학 공격 대상 조직에 새로 들어온 사람 정보의 가치를 모르는 사람 특별한 권한을 가진..

11. 침해 대응과 디지털 포렌식

1. 침해 대응 CERT 사전대응 사고탐지 대응 2. 디지털 포렌식의 개념과 절차 포렌식의 개요 디지털 포렌식의 기본 원칙 1. 침해 대응 CERT 1988년 11월 22일 모리스 웜 이후에 만들어짐 피치버그의 카네기 멜론 대학 내의 소프트웨어공학 연구소에 CERT 팀 만듬 건물의 경비원의 역할과 유사 사전대응 기본적 사전 대응은 침해 대응 체계를 구축하는 것 CERT에 필요한 구성원 시스템 운영 전문가 대외 언론 외부 기관 대응 전문가 법률 팀 인사 팀 사전 대응 → 침해 사고 발생 → 사고 탐지 → 대응 → 제거 및 복구 → 후속 조치 및 보고 침해 사고의 위험 등급 1등급 상황 분산 서비스 거부 공격으로 정상 동작 X 침입자에 의해 서버의 중요한 파일이 삭제 침입자가 지속적인 공격 시도 대응 절차 ..

10. IoT 보안과 AI 보안

1. IOT 보안 IOT의 개념 2. AI에 대한 이해 AI의 역사 AI 기술의 분류 지도학습 비지도학습 강화학습 3. AI의 취약점 유형과 대안 데이터 변조 공격과 대안 악의적 데이터 주입 공격 데이터 추출 공격 4. AI를 이용한 보안 스팸 메일 탐지 네트워크 침입 탐지 악성 코드 탐지 1. IOT 보안 IOT의 개념 인터넷에 연결되는 것을 의미 상용화된 IOT는 전구, 자동차, 냉장고, 보일러 IOT 공통 보안 7대 원칙 Security by Design Privacy by Design 안전한 SW, HW 개발 기술 적용 및 검증 안전한 초기 보안 설정 방안 제공 2. AI에 대한 이해 AI의 역사 AI의 시작 1950년 앨런 튜링 - 생각하는 기계 1956년 AI 처음 사용 AI의 발전 1950년..

09. 보안 시스템

1. 인증 시스템 인증 수단 SSO(Single Sign On) 2. 방화벽 방화벽의 개요 3. 침입 탐지 시스템 침입 탐지 시스템의 개요 데이터 수집 데이터 필터링과 축약 침입 탐지 시스템의 주요 기능 4. 침입 방지 시스템 침입 방지 시스템의 개발 과정 침입 방지 시스템의 동작 원리 침입 방지 시스템의 설치 5. 통제 및 감시 장비 통제 및 감시 장비의 종류 VPN 6. 기타 보안 솔루션 NAC(Network Access Control) 1. 인증 시스템 인증 수단 알고 있는 것 사용자가 알고 있는 정보로 인증 아이디, 패스워드 관리가 어려움 자신의 모습 지문 가격 부담 X, 효율성 좋음 손에 땀이 많거나 허물이 잘 벗겨지는 사람의 경우 오탐률 높음 손 모양 손가락의 길이나 굵기 등 손 모양을 이용하..

08. 암호를 이용한 전자상거래

1. 전자상거래에 대한 이해 전자상거래의 시작 전자상거래의 보안 요건 2. 공개키 기반 구조 공개키 기반 구조의 개념 공인인증서에 대한 이해 3. 전자서명과 전자봉투 전자서명 전자봉투 4. 전자결재 SET 간편결제 전자화폐 스마트 카드 가상 화폐 5. 암호화 통신 네트워크 암호화 전자 우편 암호화 6. 콘텐츠 보안 스테가노 그래피 워터마크 전자상거래에 대한 이해 1. 전자상거래에 대한 이해 전자상거래의 시작 1979년 : 최초의 온라인 쇼핑 1994년 : 본격적인 전자상거래의 시작 1995년 : 아마존 설립(제프 베이조스) 전자상거래의 보안 요건 인증에 대한 공격 네트워크를 통해 접근한 사용자가 적절하지 못한 인증을 통해 다른 사용자로 위장 송, 수신 보안 공격 네트워크를 통해 수행한 인증 및 거래 내역..

07. 암호의 이해

1. 암호의 개념과 원리 암호화와 복호화 대체법 최초의 암호 2. 대칭 암호화 방식 DES 알고리즘 트리플 DES 알고리즘 AES 알고리즘 SEED 알고리즘 ARIA 알고리즘 IDEA 알고리즘 RC5 SkipJack 양자 암호 3. 비대칭 암호화 방식 비대칭 암호화 방식의 발견 RSA 알고리즘 비대칭 암호화의 구조 비대칭 암호화의 기능 4. 해시 해시의 특징 해시의 역할 해시의 종류 1. 암호의 개념과 원리 암호화와 복호화 암호문 비밀을 유지하기 위해 당사자만 알 수 있도록 꾸민 약속 기호 암호는 암호문이 노출되더라도 정보를 숨길 수 있어야 함 암호화 : 평문 → 암호문 복호화 : 암호문 → 평문 암호화 알고리즘 : 암호화나 복호화를 수행할 때 양쪽이 말고 있어야 할 수단 암호화 키 : 약속한 규칙 암호..

06. 악성 코드

1. 악성 코드 악성코드 2. 바이러스 1세대 원시형 바이러스 2세대 암호형 바이러스 3세대 암호형 바이러스 4세대 암호형 바이러스 5세대 암호형 바이러스 차세대 암호형 바이러스 3. 웜 웜의 개념 매스메일러형 웜 시스템 공격형 웜 4. 트로이 목마 트로이 목마의 개요 백도어 5. PUP PUP의 개요 6. 악성 코드 탐지 및 대응책 악성 코드 탐지 예시 네트워크 상태 점검하기 정상적인 프로세스와 비교하기 악성 코드의 실제 파일 확인하기 백도어의 실제 파일 확인하기 시작 프로그램과 레지스트리 확인하기 악성 코드 제거하기 1. 악성 코드 악성코드 제작자가 의도적으로 사용자에게 피해를 주고자 만든 모든 악의적 목적을 가진 프로그램 및 매크로, 스크립트 등 컴퓨터 상에 작동하는 모든 실행 가능한 형태 역사 바..

04. 웹 보안

1. 웹과 HTTP의 이해 웹의 이해 HTTP 프로토콜 HTTP Request HTTP Response 2. 웹 서비스의 이해 프론트 엔드 백 엔드 HTTP 분석 3. 웹 해킹 웹 취약점 스캐너를 통한 정보 수집 웹 프록시를 통한 취약점 분석 구글 해킹을 통한 정보 수집 4. 웹의 취약점과 보안 웹의 주요 취약점 웹의 취약점 보완 1. 웹과 HTTP의 이해 웹의 이해 1989년 팀 버너스 리가 연구 목적의 프로젝트로 시작 프로젝트 당시 하이퍼텍스트 프로젝트라고 불림 수많은 보안 취약점이 내재되어 있어 해킹에 취약 HTTP 프로토콜 가장 많이 쓰이는 프로토콜 연결 과정 서버가 준비 상태 클라이언트는 읽고자 하는 문서를 서버에 요청 서버는 웹 문서 중에서 요청받은 것을 클라이언트에 전송 연결 끊음 HTTP ..

09. 테스팅

9-1 테스트 개요 9-2 테스트 분류 9-3 개발 단계별 테스트 9-1 테스트 개요 테스트와 소프트웨어 테스트 소프트웨어 개발에서의 테스트 소프트웨어 개발은 인간 중심의 활동이며 지적 활동 결함을 낮추는 방법 테스트 테스트의 필요성과 특징 소프트웨어 테스트의 정의 소프트웨어 테스트의 목표 작은 의미 원시 코드 속에 남아 있는 오류를 발견 결함 생기지 않도록 예방 큰 의미 개발된 소프트웨어가 고객의 요구를 만족시키는지 확인시켜주는 것 개발자와 고객에게 사용하기에 충분한 소프트웨어임을 보여주는 것 소프트웨어 테스트 수행의 어려움 테스트 케이스 적어 효과에 한계 완벽한 테스트 케이스를 도출하기 어려움 작은 실수를 발견하기 어려움 소프트웨어 테스트 결함 관련 용어 오류 결함 고장, 실패, 문제, 장애 테스트 ..