댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
일반
2025.02.25 09:09
소프트웨어의 특성 (정보처리)
조회 수 305 댓글 0
https://suldenlion.tistory.com/74 소프트웨어의 특성 : 비가시성, 복잡성, 비마모성, 복제 가능, 테스트/변경 가능, 비제조정, 순응성 ● 소프트웨어의 특성 - 비가시성 : 구조가 외부에 노출되지 않고 코드에 내재되어 있음 (무형) - 복잡성 : 정형적 구조가 없이 복잡하고 비규칙적, 비정규적임 - 비마모성 : 소프트웨어는 외부의 환경에 의해서 마모되는 것이 아니라, 품질이 나빠지는 것 - 복제성 : 소프트웨어는 간단하고 쉬운 방법으로 복제 가능 - 변경성 : 필요에 따라 항상 수정이 가능한 진화성 (evolution) - 순응성 : 요구 및 환경의 변화에 적응하는 유연성 - 무형성 : 실체적 형체가 없는 무형성 때문에 FP(Function Point)등으로 유형화 하고자 함 ● 소프트웨어 위험의 대표적 특성 - 연쇄작용 : 한 반응이 일어나면 여러 반응이 가지를 쳐서 일어나는 현상 - 확실성 : 의심의 여지가 없는 상태 또는 오류로부터 완전한 보증을 가지고 있는 상태 - 불확실성 : 위험이 발생할 수도 있고 발생하지 않을수도 있음 - 손실 : 위험이 실제로 발생하면 반드시 손실이나 원하지 않은 결과가 발생 ● 공학적으로 잘 작성된 소프트웨어의 특성 - 사용자가 요구하는대로 동작 - 하드웨어 자원을 효율적으로 이용 - 일정 시간 내에 주어진 조건하에서 원하는 기능 실행 - 처리 절차에 맞게 수행되어 정확하게 결과를 산출 - 소프트웨어의 개발, 유지보수 등이 초기 예상 비용 이내에 수행 - 적당한 사용자 인터페이스를 제공해 사용하기가 편리해야 함 - 유지보수가 용이하고 신뢰성이 높아야 함 - 에러 최소화 - 소프트웨어 사용법, 구조의 설명, 성능, 기능이 이해하기 쉬워야 함 - 실행 속도가 빠르고, 기억 용량을 적게 차지 - 투입된 비용, 노력에 대한 생산량을 의미하고 이러한 생산성을 최대한 확보 해야함 ● 소프트웨어 위기 (Software crisis) - 소프트웨어 공학 초기에 사용되던 용어. 이 용어는 급격한 컴퓨터 계산 용량과 문제의 복잡성이 급격히 증가함에 따라 발생한 충격을 서술하기 위하여 사용됨. 본질적으로, 이는 정확하고 이해할 수 있고, 검증 가능한 컴퓨터 프로그램을 작성하는것이 얼마나 어려운가를 뜻함. 소프트웨어 위기의 뿌리는 복잡성, 기대 그리고 변화이다. 소프트웨어 위기 발생 요인 - 소프트웨어 특징에 대한 이해 부족 : 논리적인 소프트웨어 특징을 이해하지 못함 - 소프트웨어 관리 부재 : 소프트웨어 관리를 소홀히 하여 효율적인 자원 통제가 이루어지지 못함 - 프로그래밍에만 치중 : 소프트웨어 품질이나 유지보수는 고려하지 않고, 프로그래밍만 하려해서 다양하고 복잡해지는 소프트웨어의 요구사항을 처리하지 못함 ● 소프트웨어 재사용의 이점 - 소프트웨어 위기 극복 : 소프트웨어 개발 생산성 향상 - 유지보수 비용의 절감 : 소프트웨어 변경 요구사항의 신속한 대응 - 소프트웨어 품질 향상 : 개발 시간과 비용을 단축 ● 폭포수 모델 (Waterfall Model) - Boehm이 제시한 고전적 생명주기 모형으로서 선형 순차적 모델이라고도 함. - 타당성 검토, 계획, 요구사항 분석, 구현, 테스트, 유지보수 단계를 통해 소프트웨어를 개발하는 모형 - 검토/승인을 거쳐 순차적으로 하향식으로 개발이 진행되는 생명주기 모델 - 이해하기 쉽고 다음단계 진행 전에 결과 검증 가능하고 관리가 용이하지만 요구 도출이 어렵고 문제발견시 프로젝트가 지연이 가능하다는 단점이 있음 ![]()
● 프로토타입 모델 (Prototype Model) - 핵심적인 기능을 먼저 만들어 평가한 후 구현하는 점진적 개발 방법 - 사용자의 요구사항을 충분히 분석할 목적으로 시스템의 일부분 또는 시제품을 일시적으로 간결하게 구현한 다음 다시 요구사항을 반영하는 과정을 반복 - 요구사항 도출에 용이하고 고객과 의사소통이 향상되지만 단점으로는 사용자의 오해(완제품)나 폐기되는 프로토타입이 존재할 수 있음 ![]()
● 나선형 모델 (Spiral Model) - 폭포수와 프로토타입 모델 장점에 위험분석을 추가한 모델 - 나선형 모델의 장점은 점증적인 개발로 실패할 위험이 감소하고 테스트가 용이하고 고객 피드백을 개선할 수 있는 반면 관리가 복잡하다는 단점이 있음 ![]()
● 반복 점증적 모델 - 사용자의 요구사항 일부분 혹은 제품의 일부분을 반복적으로 개발하여 최종 시스템으로 완성하는 모델 - 장점으로는 위험의 조기 발견 및 최소화 전략 구현이 가능하고 변경 관리가 용이하지만 관리가 어렵다는 단점이 있음 - 한번에 모든것을 만들어서 오픈하는 것이 아닌 핵심을 먼저 만들고, 나머지를 점진적으로 업데이트 하여 최종 시스템을 완성하는 모델
반복 점증적 모델의 유형
● RAD (Rapid Application Development) 모델 ![]() - 짧은 개발주기(60~90일)동안 소프트웨어를 개발하기 위한 순차적 프로세스 모델 - 요구사항 이해와 범위의 명확한 설정시 신속하고 완전한 기능 구현이 가능한 장점이 있지만, 기술적 위험이 높을 경우 부적합하고 책임감 있는 구성원이 필요하다는 단점이 있음
RAD 모델의 개발 절차 JRP → JAD → 구축/운영 → Cutover 절차로 개발이 진행됨
- JRP (분석, Joint Requirement Planning) : 고객과 비즈니스 모델 작성/검토 반복을 통한 분석 - JAD (설계, Joint Application Design) : 고객과 원형모델개발/수정/보완 반복 통한 시스템 설계 - 구축/운영 : 관련 기술을 이용하여 시스템 구축/운영, CASE 사용 - Cutover(이전) : 운용에 필요한 지침서 작성, 현행 부서 이전
● 상향식 비용 산정 기법
● 기능점수 산정 기법 ![]()
데이터 복잡도 평가 요소 - 데이터 요소 유형(DET) : 사용자가 인식 가능하고 중복되지 않는 유일한 데이터 필드 또는 속성 - 레코드 요소 유형(RET) : 내부논리 파일이나 외부 참조 파일에서 사용자가 식별 가능한 데이터 요소의 서브 그룹으로 필수 서브그룹과 선택 서브그룹이 있음
트랜잭션 복잡도 평가 요소 - 데이터 요소 유형(DET) : 사용자가 인식 가능하고 중복되지 않는 유일한 데이터 필드 또는 속성 - 참조파일 유형(FTR) : 트랜잭션 기능에 의해 읽혀지거나 유지 관리되는 내부논리파일 또는 트랜잭션 기능에 의해 읽혀지기만 하는 외부 참조파일 단위 프로세스에서 사용되는 내부 논리파일 또는 외부 연계파일을 의미함
● 유지보수 유형
● 소프트웨어 개발 표준 - ISO/IEC 12207 : 체계적인 소프트웨어 획득, 공급, 개발, 운영/유지보수를 위한 소프트웨어 생명주기 공정(SDLC Process) 표준 - SPICE : 소프트웨어 프로세스 평가를 위한 프레임워크를 제공하며, 정보 시스템 분야에 특화된 품질 표준이자 인증 규격 - CMMI : 조직의 프로세스에 대한 가이드이자 기준이며 '능력'과 '성숙도'로 조직의 프로세스를 측정하고 평가하는 모델의 통합 버전인 프로세스 개선 성숙도 모델 - GS인증 : 국내 소프트웨어 품질 인증 규격. 소프트웨어 제품의 품질 확보를 위해 소프트웨어 산업 진흥법 및 과학기술정보통신부 고시에 따라 시험/평가하는 소프트웨어 품질 인증 규격
● SPICE 프로세스 수행 능력 단계
SPICE 프로세스
● 테일러링 - 프로젝트 진행시 표준 방법론이나 표준 산출물을 활용하여, 개별 과제의 특성에 딱 맞도록 방법론과 산출물을 적용하는 프로세스 - 프로젝트 상황에 맞도록 하기 위해, 개발방법론의 절차/기법/산출물 등을 수정하여 적용하는 것 - 품질을 높이고 납기일을 준수하여 고객의 만족도를 높이기위한 효율적인 개발 방법 - 테일러링 적용시 납기, 비용, 기술 환경, 구성원 능력, 고객 요구사항 등의 내부적 요소와 법적 제약사항, 국제표준 품질 기준 등의 외부적 요소를 고려해야 함
● 전자정부 표준 프레임워크 - 공공사업에 적용되는 개발 프레임워크의 표준 정립으로 응용 소프트웨어 표준화, 품질 및 재사용성 향상을 목표로 함 - 전자정부 서비스의 품질향상 및 정보화 투자 효율성 향상을 달성하고, 대/중소기업이 동일한 개발기반 위에서 공정 경쟁이 가능하게 됨
● IP 전환 방법 Dual stack : IP 계층에 IPv4와 IPv6 기능 공용 사용 (DNS 지원 필요, 인프라구축 과다비용) Tunneling : IPv6망 간의 IPv4를 사용한 터널링 연결 주소변환(Gateway) : IPv4망과 IPv6망 사이 G/W(라우터)를 통해 주소형식 변환
● ICMP 개념 - IP 패킷 처리시 통신상황, 진단 결과를 통보하는 인터넷 계층 프로토콜 - 메시지는 오류 메시지와 질의/응답 메시지로 구분
ICMP 메시지 유형 1) 오류 보고 메시지 (Error Reporting Message) - IP 패킷 전달 오류의 보고 - ICMPv4 : 목적지 도달불가(3), 리다이렉트(5), 시간초과(11), 매개변수 문제(12) - ICMPv6 : 목적지 도달불가(1), 패킷길이초과(2), 시간초과(3), 매개변수 문제(4) 2) 정보성 메시지 (Informational Message) / 질의 메시지 (Query Message) - 네트워크 상태조사를 위한 질의 요청 및 응답 - ICMPv4 : 에코요청(8), 에코 응답(0), 라우터 광고(9), 라우터 간청(10) 등 - ICMPv6 : 에코 요청(128), 에코 응답(129), 라우터 광고(134), 라우터 간청(133)
ICMP 프로토콜 구성 ![]()
● L4 스위치 - 스위치에서 패킷의 목적지 주소를 기준으로 보내는 곳과 받는 곳을 계산하여 해당 포트로 연결하는 장비 ![]()
L4 스위치 동작방식 유형
- L4 스위치의 부하 최소화와 세션 유지를 위하여 주로 Hash 방식을 사용 - 웹 캐싱(Web caching)은 주로 웹 서버에서 수행. L4 스위치는 부하를 분산시키거나 특정 응용프로그램의 트래픽 전송을 차단하거나 Port 정보를 활용해 트래픽 분류를 할 수 있음
● 스위치 유형
● NAT (Network Address Translation) - NAT는 하나의 공인 IP주소를 다량의 가상 사설 IP 주소로 할당 및 매핑하는 주소 변환 기술
NAT 핵심 기능
● LAN (Local Area Network, 근거리 통신망) - 광대역 통신망과는 달리 학교, 회사, 연구소 등 한 건물이나 일정 지역 내에서 컴퓨터나 단말기들을 고속전송 회선으로 연결하여 프로그램 파일 또는 주변장치를 공유할 수 있도록 한 네트워크 형태 - 대표적인 기술로 이더넷, 토큰링, FDDI, ATM, 무선랜 기술이 있음 - 다양한 통신장치와 연결이 가능 - 높은 신뢰도, 확장 및 재배치의 용이 - Data, voice, video와 같은 다양한 데이터 처리가 가능 - 데이터의 전송 속도 및 공유에 유리 - 네트워크 토폴로지는 버스형 토폴로지를 주로 사용
● WAN (Wide Area Network, 광역 통신망) - 넓은 지리적 거리/장소를 넘나드는 통신 네트워크 또는 컴퓨터 네트워크 - WAN 프로토콜은 HDLC(Highlevel Datalink Control)과 PPP(Point to Point Protocol)가 있음
● Hierarchical 3 Layer - 코어 계층(Core layer), 디스트리뷰신 계층(Distribution layer), 액세스 계층(Access layer)로 구성되어 있음 - 대부분 코어계층은 백본SW(스위치), 디스트리뷰션 계층은 R(라우터), 액세스 계층은 SW(스위치)를 배치함
● 라우팅 프로토콜의 유형
● RIP - 내부 라우팅 프로토콜로 현재 가장 널리 사용하는 프로토콜 중 하나 - 네트워크 구성상 계층은 없고 평면적 - 여러 경로중 Hot Count가 가장 적은 경로를 최적의 경로라고 판단 - 각각의 라우터가 인접하고 있는 라우터와 라우팅 정보를 30초마다 주기적으로 교환하여 라우팅하도록 하는 방법 - RIP는 소규모 동종의 네트워크 내에서 효율적인 방법이며 최대 홉 수를 15로 제한하기 때문에 상대방 네트워크까지의 홉수가 16을 초과할때는 통신할 수 없음 - 홉은 데이터가 목적지까지 전달되는 과정에서 거치는 네트워크의 수를 의미함. 예를 들어 어떤 목적지까지의 홉이 3이라면, 그 목적지까지 가기 위해서 세개의 네트워크(라우터나 스위치 장비)를 경유함을 의미함
● 라우터 IOS 모드
● BGP (Border Gateway Protocol) - 외부 라우팅 프로토콜에서 AS(Autonomous system) 간의 라우팅 테이블을 전달하는데 주로 이용 - AS 내부에서는 RIP, OSPF, EIGRP 라우팅 프로토콜이 사용되고 AS와 AS 간에는 BGP가 사용됨
BGP의 유형 - eBGP : 서로 다른 AS간의 BGP session에서 사용 (External BGP) - iBGP : 동일 AS 내의 BGP router간의 BGP session (Internal BGP)
● OSPF(Open Shortest Path First) - 내부 라우팅 프로토콜이며 링크 상태 알고리즘을 사용하는 대규모 네트워크에 적합함 - IGP의 한계를 극복하기 위해 IETF에서 고안한 것으로 네트워크의 변화가 있을 때만 갱신하므로 대역을 효과적으로 사용할 수 있음 - 자치시스템 내부의 라우터들 간의 라우팅 정보를 교환하는 링크상태 라우팅 프로토콜 - 경로 설정시 hop count만 고려한 RIP에 비해서 대역폭 및 이용도를 계산해서 최적 경로를 계산
OSPF 라우팅 프로토콜의 장점
OSPF 라우팅 프로토콜 구성 요소
● VLSM (Variable Length Subnet Mask) - 네트워크 주소와 서브넷 마스크를 통한 네트워크 표현 방식으로 서브넷 마스크를 이용하여 IP 분할 가능 - 만약 Class C 주소를 할당시 256개 호스트 주소가 가능하나, 이보다 작은 수의 주소만이 필요할 때, 적은 수의 주소를 할당 가능하여 주소의 낭비를 막음
● 전송 계층 - 양 끝단(End to end)의 사용자들이 신뢰성 있는 데이터를 주고받을 수 있도록 서비스를 제공하는 계층이며 상위 계층들이 데이터 전달의 유효성이나 효율성을 보장해주는 계층
전송계층 주요기능
● TCP 기반 서비스 FTP : TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기위한 프로토콜 HTTP : WWW 상에서 정보를 주고받을수 있는 프로토콜이며 주로 HTML 문서를 주고받는데에 사용 Telnet : 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜
● TCP/IP 프로토콜 개념 ![]() 1) Network Access Layer ① OSI 7 계층에서 물리계층과 데이터링크 계층에 해당 ② OS의 네트워크 카드와 디바이스 드라이버 등과 같이 하드웨어적인 요소와 관련되는 모든 것을 지원하는 계층 ③ 송신측 컴퓨터의 경우 상위 계층으로부터 전달받은 패킷에 물리적인 주소는 MAC 주소 정보를 가지고있는 헤더를 추가하여 프레임을 만들고, 프레임을 하위계층인 물리 계층으로 전달함 ④ 수신측 컴퓨터의 경우 데이터링크 계층에서 추가된 헤더를 제거하여 상위 계층인 네트워크 계층으로 전달함
2) Internet Layer ① OSI 7 계층의 네트워크 계층에 해당 ② 인터넷 계층의 주요 기능은 상위 트랜스포트 계층으로부터 받은 데이터에 IP 패킷 헤더를 붙여 IP 패킷을 만들고 이를 전송하는 것
3) Transport Layer ① OSI 7 계층에서 전송 계층에 해당 ② 네트워크 양단의 송수신 호스트 사이에서 신뢰성 있는 전송기능 제공 ③ 시스템의 논리주소와 포트를 가지고 있어서 각 상위 계층의 프로세스를 연결해서 통신을 수행함 ④ 정확한 패킷의 전송을 보장하는 TCP와 정확한 전송을 보장하지 않는 UDP 프로토콜을 이용함 ⑤ 데이터의 정확한 전송보다 빠른 속도의 전송이 필요한 멀티미디어 통신에서 UDP를 사용하면 TCP보다 유용
4) Application Layer ① OSI 7 계층에서 세션계층, 프레젠테이션 계층, 애플리케이션 계층에 해당 ② 응용 프로그램들이 네트워크 서비스, 메일 서비스, 웹 서비스 등을 할 수 있도록 표준적인 인터페이스를 제공
● 데이터링크 계층 - Point to Point 간 신뢰성있는 전송을 보장하기 위한 계층
데이터링크 주요 기능
● 세션 계층 - 양 끝단의 응용 프로세스간의 논리적 연결을 확립하고 관리하는 계층
세션 계층 주요 기능 - 동시 송/수신 방식(Duplex), 반이중 방식(Half-duplex), 전이중 방식(Full duplex)의 통신 수행 - TCP/IP 세션을 만들고 없애는 역할 수행 - 통신하는 사용자들을 동기화하고 오류복구 명령들을 일괄적으로 다룸
● 소프트웨어 개발 보안 - SW 개발 보안 관련 활동 주체에 해당하지 않는 기관은 전자정부사업을 추진하는 행정기관은 전자정부법 제45조 제3항에 따라 「행정기관 및 공공기관 정보시스템 구축/운영 지침」을 준수해야 하며, 해당 지침 제 6장의 소프트웨어 개발보안은 감리대상사업에 의무 적용하는 것으로 정하고 있다.
![]()
● 스토리지
● 참조 모니터 (Reference Monitor) - 승인되지 않은 접근으로부터 객체를 보호하기 위해 객체에 대한 모든 주체의 접근을 통제하는 방법
참조 모니터 3가지 규칙 - 격리성(Isolation) : 반드시 부정조작이 없어야함 - 완전성(Completeness) : 우회불가능, 항상 무시되지 않고 호출되어야함 - 검증가능성(Verifiability) : 분석하고 테스트 할 정도로 충분히 작아야함
● 고가용성 (HA) - 두대 이상의 시스템을 하나의 클러스터로 묶어 한 시스템의 장애시 다른 시스템으로 신속하게 서비스를 연결하는 메커니즘
고가용성 유형
● 분석 데이터베이스 - 변경된 데이터를 이용하는 것이 아닌 원장데이터를 사용하는 것 - 전용 OLAP모델링 없는 조인으로 접근하는 것 - DW 데이터베이스가 큐브 생성후 사용하고 집합 및 통계 테이블을 별도로 생성한다면 분석 데이터베이스는 애플리케이션에서 SQL을 통한 최소 변경으로 분석업무절차를 수행함 - ETL을 이용하지 않음 (ETL = 조직 내외부의 복수 데이터 소스들로부터 분석을 위한 저장소로 데이터를 이동시키는 프로세스)
● 데이터베이스 구축 공정 프로세스
● 데이터베이스 표준화 유형 1) 데이터 명칭 : 해당 기업 내에서 데이터를 유일하게 구별해주는 이름. 따라서 데이터 명칭에 대한 표준화는 동음이의어 및 이음동의어의 조정을 필요로함. 데이터 명칭은 일반적으로 유일성, 업무적 관점의 보편성, 의미 전달의 충분성의 원칙에 부합되어야 함 2) 데이터 정의 : 해당 데이터가 의미하는 범위 및 자격 요견을 규정함. 사용자가 데이터의 의미를 가장 잘 이해할 수 있도록 업무 관점에서 범위와 자격요건을 명시해야 하고, 데이터 명칭만으로는 사용자에게 전달하기 어려운 기타 사항들을 전달하는 역할을 함. 또한 데이터 정의는 데이터 소유자를 결정하는 기준이 됨. > 데이터 정의를 기술할 경우 고려할 점 - 데이터 사용자가 데이터의 의미를 잘 이해할 수 있도록 관련 업무를 모르는 제 3자의 입장에서 기술함 - 서술식 정의만으로 데이터의 의미 전달이 어려울 경우에 실제 발생할 수 있는 데이터의 값도 같이 기술함 - 데이터 명칭을 그대로 서술하거나 약어 또는 전문 용어를 이용한 정의 기술은 가급적 사용하지 않음 3) 데이터 형식 : 데이터 표현 형태의 정의를 통해 데이터 입력 오류와 통제 위험을 최소화하는 역할을 함. 데이터 형식은 업무 규칙 및 사용 목적과 일관되도록 정의함 4) 데이터 규칙 : 발생 가능한 데이터 값을 사전에 정의함으로써 데이터의 입력 오류와 통제 위험을 최소화하는 역할을 함. 데이터 규칙을 통해 데이터의 정합성 및 완전성을 향상할 수 있음. 데이터 규칙의 유형은 기본 값, 허용 값, 허용 범위가 있음
● 동시성 제어 기능 - 데이터베이스 일관성 유지, 갱신 손실, 무효 갱신, 취소 연산으로부터 보호하는 기능 - 여러 명의 고객이 DBMS에 접근하여 데이터 처리를 수행하나 하나의 데이터를 수정하려고 할 때는 한순간에 한명의 사용자만이 데이터를 수정할 수 있다는 의미 (병렬 트랜잭션에 직렬성을 보장)
동시성 제어 기능 유형
● Bell-LaPadula 모델 - 미국방부에서 개발한 정책으로 군사 보안 요구사항에 만족시키기 위해 만들어짐. 정보의 불법적이 유출을 막기위해 개발된 최초의 수학적 모델. 특정 객체에 대한 접근은 특정 직무가 접근을 요구하는 경우에만 분류된 수준에 대하여 허가되는 정책 - 사용자는 주어진 보안 등급보다 높은 등급의 데이터는 읽을 수 없음(No read up) - 사용자는 주어진 보안 등급보다 낮은 등급의 데이터에 기록할 수 없음(No write down)
● 공통평가기준 (Common Criteria, CC) - ISO 15408 표준으로 채택된 정보 보호 제품 평가기준과 정보화의 순기능 역할을 보장하기위해 정보보호 기술 기준으로 정보화 제품의 정보 보호 기능과 이에 대한 사용 환경 등급을 정한 표준 및 인증체계 - 국가마다 서로 다른 정보보호시스템 평가기준을 연동하고 평가결과를 상호인증하기 위해 제정된 국제표준 평가기준 - 평가수행지침으로 CEM(Common Evaluation Methodology) 문서가 있으며 인증서는 CCRA(CC Recognition Arrangement)에 가입되어 있어야함 - 공통평가기준 인증을 취득하면 국제상호인정협정에 따라서 평가/인증 결과를 회원국 간에 상호 인정함
공통평가기준 구성 - 1부 소개 및 일반모델 : 용어정의, 보안성 평가개념 정의, PP/ST 구조정의 - 2부 보안기능 요구사항(SFR) : 보안기능 요구사항 정의 및 해석 - 3부 보증요구사항(SAR) : 보증요구사항 및 평가보증등급 정의
● 소프트웨어 개발 관련 법 - 개인정보 보호법 : 개인정보의 수집/유출/오용/남용으로부터 사생활의 비밀 등을 보호함으로써 국민의 권리와 이익을 증진하고, 나아가 개인의 존엄과 가치를 구현하기 위하여 개인정보 처리에 관한 사항을 규정함을 목적으로 하는 법률 - 정보통신망 법 : 정보통신망의 이용을 촉진하고 정보통신서비스를 이용하는 자의 개인정보를 보호함과 아울러 정보통신망을 건전하고 안전하게 이용할 수 있는 환경을 조성하기 위한 법률 - 개인정보 영향평가에 관한 기준 : 개인정보 보호법 제 33조와 개인정보 보호법 시행령 제 38조에 따른 평가기관의 지정 및 영향평가의 절차 등에 관한 세부기준 - 위치정보의 보호 및 이용들에 관한 법률 : 위치정보의 유출/오용 및 남용으로부터 사생활의 비밀 등을 보호하고 위치정보의 안전한 이용환경을 조성하여 위치정보의 이용을 활성화함으로써 국민생활의 향상과 공공복리의 증진에 이바지함을 목적으로 하는 법률
● 코드오류 보안 약점 - Null Pointer 역참조 : Null로 설정된 변수의 주소값을 참조했을때 발생하는 보안 약점 - 부적절한 자원 해제 : 사용된 자원을 적절히 해제하지 않으면 자원 누수 등이 발생하고, 자원이 부족하여 새로운 입력을 처리할 수 없게 되는 보안약점 - 해제된 자원 사용 : 메모리 등 해제된 자원을 참조하여 예기치 않은 오류가 발생될 수 있는 보안약점 - 초기화되지 않은 변수 사용 : 변수를 초기화하지 않고 사용하여 오류가 발생될 수 있는 보안 약점 - 민감한 데이터를 가진 내부 클래스 사용 : 권한이 없는 클래스를 사용하고자 할때 발생하는 취약점 - 제거되지 않고 남은 디버거 코드 : 디버깅 목적으로 삽입된 코드가 제거되지 않음으로 인해 공격자에게 의도하지 않은 정보와 제어정보가 누출될 수 있는 보안 취약점
● 소프트웨어 개발 보안 생명주기 (Secure SDLC)
● Seven Touchpoints - 실무적으로 검증된 개발보안 방법론 중 하나로써 SW 보안의 모범 사례를 SDLC에 통합한 방법론 - MS-SDL과 동일하게 7개의 보안강화 활동을 정의
Seven Touchpoints 주요 활동 요구사항과 Use Cases (악용사례/보안 요구사항/위험분석) → 구조설계 (위험분석) → 테스트 계획 (위험 기반 보안 테스트) → 코드 (코드 검토) → 테스트 결과 (위험분석/침투 테스트) → 현장과의 피드백 (침투 테스트/보안운영) → 요구사항과 Use Cases
● CWE (Common Weakness Enumeration) 보안 약점 - 입력데이터검증 및 표현 : XSS, SQL 삽입, 버퍼 오버플로우 등 - 보안기능 : 중요정보 평문저장, 하드코딩된 패스워드 - 시간 및 상태 : Deadlock 자원에 대한 경쟁조건, 세션고착 - 에러처리 : 처리루틴 누착, 정보 노출 - 코드품질 : 널 포인터 역참조, 부적절한 자원해제 - 캡슐화 : 디버거 코드, 시스템 데이터 정보 - API 악용 : DNS Lookup에 의존한 보안 결정
● 공격 기법
- CSRF와 XSS의 차이점은 CSRF는 피해자의 권한을 이용하여 피해자가 조작된 패킷을 전송하여 이 결과로 공격자가 이득을 얻는 형태의 공격(홈페이지 자동가입 등)으로 XSS는 악성 스크립트가 실행되어 클라이언트를 공격하는 것(악성코드 실행 등)에 차이가 있음
● CSRF (크로스 사이트 요청 위조) - 로그인된 피해자의 취약한 웹 애플리케이션에 피해자의 세션 쿠키와 기타 인증정보를 포함해 위조된 HTTP 요청을 강제로 보내도록 만들어 정당한 요청으로 애플리케이션을 공격하는 해킹 기술 ① CSRF 공격 코드 등록 ② CSRF 공격 코드 포함된 페이지 요청 ③ 자동화된 요청이 포함된 응답이 희생자에게 전달 ④ 자동화된 요청에 의해 희생자의 권한으로 서비스를 요청
SQL 삽입 - 데이터베이스와 연동된 웹 에플리케이션에서 입력된 데이터의 유효성 검증을 하지 않은 경우 발생 - 공격자가 입력 폼 및 URL 입력란에 SQL문을 삽입하여 DB로부터 정보를 열람하거나 조작할 수 있는 약점을 말함
● 공개키(Public Key) System - 공개키 암호화 기법은 공개키로 암호화한 평문을 개인키로 복호화하는 비대칭키 구조 - 암호화 키와 복호화 키가 다르므로 키 분배가 용이함 - 부인방지, 인증, 무결성, 기밀성 제공이 가능하여 전자서명, 전자봉투 등에 활용 - 인증서는 x.509 표준에따라 인증서 저장소(Certificate repository)에 저장하여 공개 - 디피/헬만, RSA, ECC는 대표적인 비대칭키 암호화 알고리즘 - 송신자는 공개키를 수신받은 후 공개키로 암호화하여 메시지를 전송하고 수신자는 자신만 가지고 있는 개인키로 복호화하는 방법. - 공개키 암호화 기법은 대칭키 암호화 기법의 키 공유 문제를 해결한 방법이지만 암호화 키의 길이가 길어서 암호화 및 복호화 성능이 대칭키 암호화 기법보다 성능이 떨어짐
PKI (Public Key Infrastructure) - 인증기관(CA)에서 공개키와 개인키를 포함하는 인증서를 받아 네트워크상에서 안전하게 비밀통신을 가능하게 하는 기반구조 1) PKI의 구성 요소 - 사용자 : 인증서를 신청하고 인증서를 사용하는 주체 - 등록기관(RA) : 사용자 요청시, 신원을 확인하고 CA에 인증서 발급요청 - 인증기관(CA) : 인증서 등록, 발급 등의 관리총괄, 인증서 폐기목록(CRL) 생성 - Certificate Repository : 인증서 및 CRL 보관 - Directory : 인증서 관련 서비스, LDAP 2) PKI의 관리 대상 - 인증서(X.509) 구조 : 버전/일련번호/서명알고리즘/유효기간시작_종료/주체/공개키/다이제스트알고리즘/데이터다이제스트/이름/키 - 인증서 검증방식(CRL, OCSP, SCVP) - 인증서 취소목록(CRL) : Certificate Revocation List - 유효성(OCSP) : Online Certificate Status Protocol - 인증서 체인(SCVP) : Simple Certificate Validation Protocol
● 암호화 알고리즘 - 평문(Plain text)를 암호문(Cipher text)로 만드는 과정 - 암호화의 원리로는 치환, 전치, 혼합, 블록화, 확장, 압축 등의 기법을 활용 - 양방향 암호화 기법에는 암호화키와 복호화키의 상호관계에 따라 대칭키와 비대칭키 가능
● 양방향 대칭키 알고리즘
● 해시(Hash) 함수 - 하나의 문자열을, 이를 상징하는 더 짧은 길이의 값이나 키로 변환하는 함수 - 해시는 정보의 위변조를 확인. 즉, 정보의 무결성을 확인하기 위한 방법 - 전자서명, 부인방지, 전자봉투 등에 활용
해시 함수의 보안 요구사항 - 일방향성 : 결과값부터 입력 값을 계산하는것은 불가능 - 약한 충돌 저항성 : 입력값과 해쉬값을 알고 있을때 H(x')=H(x)인 x'(!=x)을 찾는것은 불가능 - 강한 충돌 저항성 : 동일한 해쉬값을 가지는 서로 다른 메시지 쌍을 찾는 것은 불가능해야 함
● DoS(Denial of Service) 대표적 공격기법
- 공격자가 공격 대상 컴퓨터나 네트워크에 과도한 패킷 트래픽을 발생시켜 중요 네트워크와 시스템의 자원을 고갈시켜서 정상적인 사용자의 접속을 방해하는 공격 기법
● DRDos (분산반사 서비스 거부공격, Distributed Reflection Denial of Service) - 정상적인 서비스를 작동중인 서버를 reflection으로 트래픽을 증폭시켜 공격하는 기법 - DDos 공격의 에이전트 설치상의 어려움을 보완하여 TCP 프로토콜 및 라우팅 테이블 운영상의 취약성을 이용 - 정상 서버를 에이전트화하여 공격하는 기법
DRDoS의 공격원리 및 대응방안 - TCP 취약성(3-Way Handshake), BGP 취약성, Reflection 서버(다수 라우터, 대용량 대역폭 서비스) - 서버보호, 클라이언트 보호, ISP 업체를 통한 통제
DRDos의 대표적 공격 루틴 ① 악의를 가진 해커가 타겟을 찾은 뒤에, 해당 타겟으로 자신을 위조 ② 위조된 신분으로 인터넷 서비스를 정상적으로 사용중인 서버나 웹서비스를 요청 ③ 웹서비스를 요청받은 서버, 라우터 등은 위조된 목적지로 응답 ④ 실제 타겟은 아무것도 모른채 엄청난 양의 응답을 받고 서비스 거부
● 사회 공학적 해킹 기법 - 인간 상호작용의 깊은 신뢰를 바탕으로 사람들을 속여 정상 보안 절차를 깨뜨리고 정보를 얻기위한 침입 수단
사람 기반(비기술적) 해킹 기법
● 악성코드 - 바이러스(Virus) : 숙주 프로그램(다른 프로그램에 기생), 실행 가능 파일에 감염, 복제/변형/전이 - 웜(Worm) : 자기 복제성, 숙주 프로그램 없이 독자 실행, 시스템 간 전이 - 랜섬웨어(Ransomware) : 사용자의 문서와 사진 등을 암호화시켜 일정 시간 안에 일정 금액을 지불하면 암호를 풀어주는 방식으로 사용자에게 금전적인 요구를 하는 악성코드 - 트로이목마(Trojan horse) : 정상적인 소프트웨어의 형태를 띄지만 악의적인 행위를 포함하고 있는 악성코드
● APT (Advanced Persistent Threat) - 특수목적을 가진 조직이 기간 사설망 또는 핵심 보안 업체등을 표적으로 삼고 지속적으로 정보를 수집하고 취약점을 파악하여 이를 바탕으로 피해를 끼치는 공격 - 특징 : 명확한 타겟 목표, 우회 공격, 지능화, 지속적
APT 공격 절차 ① 침투 : 훔친 인증정보, SQL 인젝션, 악성코드 등을 사용하여 오랜 시간에 걸쳐 공격대상 시스템에 활동 거점을 구축 ② 탐색 : APT 공격자는 한번 시스템에 침입하면 목표로 하는 기관의 시스템에 대한 정보를 수집하고 기밀 데이터를 자동으로 검색 ③ 수집 : 보호되지 않은 시스템의 데이터는 공격자에게 노출 ④ 제어 : APT 공격자는 표적시스템의 제어권한을 장악하여 각종 기밀 데이터를 유출하며 SW 및 HW에 손상을 입힘
● 스니핑 (Sniffing) - 네트워크 상의 패킷을 도청하여 공격대상의 네트워크 패킷을 수집하고 분석하는 행위 - ARP Redirect 공격은 공격자 호스트가 라우터로 가장하여 ARP reply(자신의 MAC 주소가 라우터의 MAC 주소라고)를 네트워크에 주기적으로 보냄으로써 모든 호스트는 공격자에게 패킷을 전송함 (랜의 모든 호스트 : 라우터)
● 스푸핑 (Spoofing) - 자기 자신의 식별정보를 속여서 서로 다른 대상 시스템을 공격하는 기법
스푸핑 종류 - IP Spoofing : IP 주소를 속여서 다른 시스템을 공격 - ARP Spoofing : ARP 테이블 상의 정보를 위조하여 공격대상 컴퓨터와 서버 사이의 정보 우회 (MAC Address 위조) - DNS Spoofing : Local host 파일 또는 DNS 서버를 장악하여 사용자가 요청하는 DNS 쿼리를 공격자가 원하는 주소로 안내하도록 위조
● VPN (Virtual Private Network) - 네트워크 패킷의 헤더를 조작하는 터널링(Tunneling) 기법을 사용해 인터넷과 같은 공중망(Public N/W)에서 전용회선(Private N/W)을 구성한 것과 같은 효과를 내는 가상 네트워크 - 터널링 기술 : 공중망에서 전용선과 같은 보안 효과를 얻기 위한 기술 - 인증 기술 : 접속 요청자의 적합성을 판단하기 위한 인증기술 - 암호 기술 : 데이터에 대한 기밀성과 무결성을 제공하기 위해 사용되는 암호 알고리즘 적용 기술
● IDS (Intrusion Detect System) - 비인가된 사용자가 자원의 기밀성, 무결성, 가용성을 저해하는 일련의 행동들과 보안 정책을 위반하는 행위, 즉 침입(Intrusion)을 실시간으로 탐지하는 시스템
● IPS (Intrusion Protection System) - 정보관리 시스템 네트워크의 침입탐지와 동시에 실시간 방어가 가능한 보안 솔루션 - 침입탐지 시스템의 오판(False positive)와 탐지실패(True negative) 문제를 해결하기 위해 등장함
IPS(침입 방지 시스템) 유형
● WIPS (Wireless Intrusion Protection System) - 회사 내 무선랜 사용자와 단말기를 자동으로 탐지, 분류하여 보안정책에 따라 관리하고 침입시도 공격자의 위치 감지 등의 사전 위험요소를 제거하는 솔루션
● PPTP - 2계층(데이터링크 계층)에서 동작하며 PPP(Point-to-Point Protocol)에 기초하여 두대의 컴퓨터가 직렬 인터페이스를 이용하여 통신할때 사용 - 전화선을 통해 서버에 연결하는 PC에서 자주 사용하는 MS가 제안한 VPN 프로토콜
● L2TP - 2계층에서 동작하며 L2F(Layer 2 Forwarding)와 PPTP가 결합된 시스코가 제안한 프로토콜 - 사용자 인증(PAP, CHAP, MS-CHAP, EAP)이나 데이터 암호화/압축(CCP, ECP) 등의 보안 기능을 사용
● IPSec - 3계층(네트워크 계층)의 암호화 프로토콜로 IP를 기반으로 한 네트워크에서 동작 - AH(인증), ESP(기밀성), IKE(비밀키 교환)으로 구성됨
● SSL (Secure Socket Layer) - 4계층(트랜스포트 계층) 40비트와 128비트의 키를 가진 암호화 통신으로 서버 인증, 클라이언트 인증, 암호화 세션 기능을 담당 - TCP/IP 상 웹브라우저와 웹서버 간 데이터를 안전하게 주고받기 위한 표준 보안 전송 프로토콜
SSL의 특징 - 공개키 기반 인증방식 : 서버에서 클라이언트로 공개키 기반 인증서를 사용해 인증 수행 - 3가지 인증방식 : 익명인증모드(An, Anonymous), 서버인증모드(SA, Server Authentication), 클라이언트-서버 인증모드 (MA, Mutual Authentication) - 연결주소 : 'https'로 시작하는 URL을 사용 - 지정포트 : 443 port 사용
SSL의 Protocol 구조 ![]() 1) 제어 계층 - SSL cipher change protocol : 암호 알고리즘, 보안 정책 조율 - SSL Handshake protocol : 키 교환, CS 인증 - Alert Protocol : 경고 메시지, 경고 상세 2) 레코드 계층 - Record Protocol : 데이터 무결성 위한 인증, 데이터 압축, 암호화
● 사용자 인증기법 유형 지식기반 인증 : - Something you know - 아이디/비밀번호/PIN 등 사용자가 지정한 암호 또는 핀 번호, 별도의 장비가 필요 없음 - 사용자가 기억력에 의존하며 접속장비가 많을 경우 기억력의 한계, 주기적인 비밀번호/PIN의 변경이 발생 - 인증 기법중 가장 보안에 취약함 소유기반 인증 : - Something you have - OTP토큰/스마트카드/보안카드/휴대폰 - 인식오류 비율이 낮으며 경제적, 신뢰성 높음 - 실사용자 식별이 가능하며 사용자 별로 별도의 장비가 필요 - 분실 및 도용의 위험이 존재함 생체기반 인증 : - Something you are - 지문/홍채/정맥/손 모양 - 분실/고장 및 도용의 위험이 없으며 빌려줄 수 없음 - 하드웨어가 복잡하고 고가의 장비 필요 - 인식 오류 비율이 높으며 사용자의 거부감이 높음 행위기반 인증 : - Something you do - 서명, 음성인식, 걸음걸이 등 행동상의 특징 - 연구단계의 기술로 실용화 시기 알수 없음 - 인식 오류 비율이 높으며 고가의 장비 필요 예상
● 네트워크 보안솔루션의 유형
● UTM (Unified Threat Management) - 서비스에 대한 정당한 접근을 방해하거나 차단하고자 네트워크에 분산되어 있는 많은 에이전트를 이용하여 공격 대상 서버에 동시에 과도한 서비스 요청을 발생시키는 공격을 차단하기 위한 보안 솔루션 - 방화벽, IPS, VPN, Anti-Virus, Anti-Spam, URL Filtering 등의 기능이 추가되어, 각 모듈이 복합적이고 유기적으로 기능을 제공할 수 있는 통합 보안 관리
UTM 기반 기술 1) 네트워크 인터페이스 기술 : 스위치, 라우터와 연관된 Secondary IP, VLAN, Link Aggregation 등 기본적인 인터페이스 기능제공 2) UTM 동작모드 관련 기술 : Route(+NAT), Transparent(or Bridge) 모드로 동작 3) 이중화 및 망 관리기술 : 라우터 이중화 기술 VRRP(Virtual Router Redundancy Protocol)을 지원, SNMP 통한 관리
UTM의 보안 기능 - Anti-Virus, Anti-Spyware, Anti-Spam, 유해 사이트필터링, 콘텐츠 필터링, Web Application Security 기능
● 네트워크 접근 제어(NAC) - 사용자 PC가 내부 네트워크에 접근하기 전에 보안 정책을 준수했는지 검사하여 네트워크 접속을 통제하는 기술 - 접속 단말에 대한 보안평가, 문제, 정책준수, 네트워크 접근허용에 대한 지속적인 모니터링 및 대응하는 시스템 - 네트워크 접근시 인증을 위해 Active Directory, Kerberos, LDAP 등 사용
NAC의 구성요소 - 인증 : IEEE802.1x, DHCP, 허가된 시스템 및 사용자 접근허용 - 정책점검 : OS 보안패치, Anti-Virus, 취약점 및 정책 컴플라이언스 점검 - 격리 : 연동서버 Zone 이동, 정책 미준수 사용자 접근제한 - 치료 : 패치, Update 백신, 정책 위반 사용자 SW 삭제 및 설치 - 강제 : Agent, 네트워크 인프라 연동, 정책 적용 우회 경로 차단
NAC의 구현 방식 1) In-Line 방식 : 게이트웨이 형태로 일부 물리적 네트워크에 NAC를 추가 2) 802.1x 방식 : 802.1x RADIUS 서버와 802.1x를 지원하는 스위치 필요 3) VLAN 방식 : 인가받은 사용자와 인가되지 않은 사용자를 각각 통신 가/불가한 VLAN 망에 할당하는 방식 4) ARP 방식 : ARP 스푸핑 패킷을 보내 N/W의 정상적인 접근을 차단하는 단순 구조 5) SW Agent 설치 방식 : N/W에 접속하려는 모든 클라이언트에 에이전트를 설치하는 방식
● WAF (Web Application Firewall) - 일반적인 네트워크 방화벽(Firewall)과는 달리 웹 애플리케이션 보안에 특화되어 개발된 솔루션 - SQL Injection, Cross-Site Scripting(XSS)등과 같은 웹 공격을 탐지하고 차단하는 기능 수행
WAF 주요 기능 1) Request validation : 사용자 요청 검증 - 어플리케이션 접근제어, 과다 요청 제어(Web Dos) - 버퍼 오버플로우 차단, SQL/스크립트 차단 - 업로드 파일/요청형식 검사 2) Content protection : 컨텐츠 보호 - 신용카드 정보 유출 차단, 주민등록번호 유출 차단 - 웹 변조 방지, 응답형식 검사, 코드노출 차단 3) Cloaking(위장) : 서버존 가상화, URL 변환, 부하 분산 - URL 정보 위장, 서버 정보 위장 - 사용자에게 제공되는 정보 중 일부를 위장
WAF의 유형 1) 설계방식에 따른 유형 - N/W 기반 : 네트워크 구간에 인라인 트랜스 페런트 및 프록시 방식으로 구성되며 전송되는 웹 트래픽에 대한 분석 및 차단 기능 수행 - Host 기반 : 각 웹 서버에 설치된 보안 에이전트와 마스터 서버, 관리용 콘솔환경으로 구성 2) 처리방식에 따른 유형 - Proxy 방식 : 웹서버 앞 단에서 웹 방화벽이 클라이언트 요청을 받아 필터링 처리 후, 다시 웹 서버와 재접속을 맺는 방식 - Filtering 방식 : 웹 방화벽이 웹 서버의 플러그인 모듈처럼 동작하는 방식
● 접근 통제 - 보안 정책에 따라 접근 객체(시스템 자원, 통신 자원 등)에 대한 접근 주체(사용자, 프로세스 등)의 접근 권한 확인 및 이를 기반으로 한 접근 제어를 통해 자원에 대한 비인가된 사용을 방지하는 기능을 말함
● Lehman(리먼)의 소프트웨어 변화와 원리 - 소프트웨어 유지보수는 1969년 매니 리먼에 의해 처음 주장됨
● 정보시스템 유지보수의 분류 시점에 의한 유지보수 - 계획 유지보수 : 주기적인 유지보수 - 예방 유지보수 : 미리 예방 차원에서의 유지보수 - 응급 유지보수 : 긴급한 경우의 유지보수, 후 승인 - 지연 유지보수 : 시스템에 대해 변경 부분 추후 지원 대상에 의한 유지보수 - 데이터 유지보수 : 데이터의 conversion 등 필요시 처리 - 프로그램 유지보수 : 프로그램의 변경, 오류 처리 - 문서 유지보수 : 문서 표준 변경 및 기타 필요시 - 시스템 유지보수 : 시스템의 변경 및 장애 처리 원인에 의한 유지보수 - 수정 유지보수 : 오류와 결함의 수정(corrective) - 완전 유지보수 : 불완전 부분의 표준화 적용(perfective) - 예방 유지보수 : 정기적인 유지보수(preventive) - 적응 유지보수 : 변화, 갱신의 적용(adaptive, porting) 거리에 의한 유지보수 - 상주 유지보수 : 현장에 상주하며 실시간 유지보수 - 방문 유지보수 : 정기 방문에 의한 유지보수 - 원격 유지보수 : 원격 상담에 의한 원격지 유지보수 - 비정기 유지보수 : 대상 발생시 비정기 방문 유지보수 역할에 의한 유지보수 - 모니터링 유지보수 : 단순 모니터링만을 전담하는 유지보수 - 보고 유지보수 : 보고 체계에 의해 표준 절차 수행 - 평가 유지보수 : 유지보수의 발생률, 험도 등 평가 - 전담 유지보수 : 업무, 능력 별 전담 담당자 지정
● 효과적인 프로젝트 관리를 위한 3대 요소 (3P) - 사람(People) : 프로젝트 관리에서 가장 기본이 되는 인적자원 - 문제(Problem) : 사용자 입장에서 문제를 분석하여 인식 - 프로세스(Process) : 소프트웨어 개발에 필요한 전체적인 작업 계획 및 구조
● WBS (Work Breakdown Structure, 업무 분류 구조) - 프로젝트 목표를 달성하고 필요한 인도물을 산출하기 위하여 프로젝트 팀이 실행할 작업을 인도물(deliverables) 중심으로 분할한 계층구조 - 일정 계획의 첫 단계에서 작업을 분할할때 사용되는 방법이며 계획 관리 단계에서 일정 계획과 인력 계획, 비용산정의 기준이 됨 - 프로젝트 진행중에 발생하는 모든 작업을 알 수 있고 제품의 계층 구조 또는 프로세스의 계층 구조로 나타남 ![]()
● 프로젝트 일정단축 기법
● ISMS - P 인증제도 (정보보호 및 개인정보보호 관리체계 인증) - 정보보호 및 개인정보보호를 위한 일련의 조치와 활동이 인증기준에 적합함을 인터넷 진흥원 또는 인증기관이 증명하는 제도 - 기존에 개별적으로 운영되던 과학기술부정통부 소관의 '정보보호 관리체계 인증제도(ISMS)'와 방송통신위원회, 행정안전부 소관의 '개인정보보호 관리체계 인증제도(PIMS)'를 통합하여 인증제도를 일원화해 '정보보호 및 개인정보보호 관리체계 인증 등에 관한 고시(ISMS-P)'로 통합함 - 정책협의체(과학기술정보통신부, 방송통신위원회, 행정안전부) 주관으로 이루어지며, 정책협의체는 정보보호 관리체계 관련 정책 및 법제도 결정, 심사기관 지정의 역할을 수행함. 그리고 정보보호 관리체계 및 개인정보보호 관리체계 인증은 한국인터넷진흥원이 주관함. 한국인터넷진흥원은 인증위원회를 개최하여 최종 인증을 부여하고 심사원 양성을 추진함. 심사기관은 한국정보통신진흥협회, 한국정보통신기술협회가 심사를 수행함 - 최초 심사를 통해 인증을 취득하면 3년의 유효기간이 부여됨
ISMS-P 인증심사 기준 1) 관리체계 수립 및 운영 1.1 관리체계 기반 마련 1.2 위험 관리 1.3 관리체계 운영 1.4 관리체계 점검 및 개선 2) 보호대책 요구사항 2.1 정책, 조직, 자산관리 2.2 인적 보안 2.3 외부자 보안 2.4 물리 보안 2.5 인증 및 권한관리 2.6 접근통제 2.7 암호화 적용 2.8 정보시스템 도입 및 개발보안 2.9 시스템 및 서비스 운영관리 2.10 시스템 및 서비스 보안관리 2.11 사고 예방 및 대응 2.12 재해 복구 3) 개인정보 처리단계별 요구사항 3.1 개인정보 수집시 보호 조치 3.2 개인정보 보유 및 이용시 보호조치 3.3 개인정보 제공시 보호조치 3.4 개인정보 파기시 보호조치 3.5 정보주체 권리보호
● CLASP (Comprehensive, Lightweight Application Security Process) - 소프트웨어 개발 생명주기 초기단계에 보안강화를 목적으로 하는 정형화된 프로세스로써, 활동중심/역할기반의 프로세스로 구성된 집합체 - 이미 운영중인 시스템에 적용하기 좋음 - 개념, 역할 기반, 활동 평가, 활동 구현, 취약성의 5가지 관점에 따라 개발 보안 프로세스를 수행할 것을 제안
● 백도어 (Backdoor) - 프로그램이나 손상된 시스템에 허가되지 않는 접근을 할 수 있도록 정상적인 보안 절차를 우회하는 악성 소프트웨어. 서비스 기술자나 유지보수 프로그래머들이 액세스 편의를 위해 만든 보안이 제거된 비밀 통로로 원래는 관리자가 외부에서도 시스템을 점검할 수 있도록 만들어 두었으나 해킹에 취약한 부분이 될 수도 있는 곳을 의미함
백도어 탐지 방법
● DevOps ![]()
- 개발(Dev)과 운영(Ops)의 합성어인 DevOps는 고객에게 지속적으로 가치를 제공하도록 지원하는 사람, 프로세스 및 기술의 합집합 - DevOps는 개발, IT 운영, 품질 엔지니어링, 보안 등 이제껏 서로 단절되었던 역할들이 서로 조율하고 협업하여 더욱 안정적이고 뛰어난 제품을 생산할 수 있도록 지원함 - DevOps 방식과 도구를 비롯한 DevOps 문화를 도입하는 팀은 고객 요구 사항에 보다 효과적으로 대응하고, 더욱 안심하고 애플리케이션을 빌드하며, 비즈니스 목표를 더 빨리 달성할 수 있음
● CI/CD ![]() - CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법 - 지속적인 통합(CI, Continuous Integration), 지속적인 서비스 제공(CD, Continuous Delivery), 지속적인 배포(CD, Continuous Deployment)를 가능하게 함 - 새로운 코드의 통합으로 인하여 개발 및 운영팀에 발생하는 문제를 해결하는 솔루션
● CoAP (Constrained Application Protocol) - 리소스 제약이 있는 기기들이 인터넷 상에서 TCP 대신 UDP를 사용해 커뮤니케이션 할 수 있도록 개발됨 - 개발자들은 전통적인 방식의 REST 기반 API를 사용하는 여느 기기와 마찬가지로 CoAP 기기를 다룰 수 있음 - 특히 인터넷을 통해 컨트롤 해야하는 저출력 센서 및 기기와 커뮤니케이션 하는데 유용함 - 단순한 request/response 프로토콜로 전통적인 클라이언트/서버 모델을 따르고 있음 - REST 아키텍처를 기반으로 Resource Discovery, 멀티캐스트 지원, 비동기 트랜잭션 요청 및 응답 등을 지원하는 프로토콜로 최근 IoT 환경에서 자주 사용됨
● 클라우드 - 클라우드 컴퓨팅이란 인터넷 기반의 컴퓨팅을 말함 - 인터넷 상의 가상화된 서버에 프로그램을 두고 필요할때마다 컴퓨터나 스마트폰 등에 불러와 사용하는 서비스 - Cloud라는 단어가 말해주듯, 인터넷 통신망 어딘가에서 구름에 싸여 보이지 않는 컴퓨팅 자원(CPU, 메모리, 디스크 등)을 원하는 대로 가져다 쓸수 있음. 구름에 싸여있다는 것은 그 내부를 보려고 하거나 알지 않아도 얼마든지 내가 원하는 것을 꺼내어 사용할 수 있다는 것이며, 인터넷이 연결된 어느 곳에서든 이것을 보장 받을수 있다는 뜻
클라우드 유형
![]()
● 메모리 버퍼 오버플로우 - 메모리 버퍼 오버플로우 보안 약점은 연속된 메모리 공간을 사용하는 프로그램에서 할당된 메모리의 범위를 넘어선 위치에 자료를 읽거나 쓰려고 할때 발생함 - 메모리 버퍼 오버플로우는 프로그램의 오동작을 유발시키거나, 악의적인 코드를 실행시킴으로써 공격자 프로그램을 통제할 수 있는 권한을 획득하게 됨
메모리 버퍼 오버플로우 보안 대책
● 허니팟 (Honeypot) - 비정상적인 접근을 탐지하기위해 의도적으로 설치해둔 시스템. 이를통해 공격자를 추적하고 정보를 수집하는 역할을 함 - 공격자를 속이기 위해 마치 정상 시스템에 침투한 것처럼 속여야함 - victim의 침입 및 침해를 소극적으로 유도하지 않고 보안 위협이 존재하는 시스템을 지능형 Agent를 통해 능동적으로 검색하여 공격 유형의 분석 및 악성코드를 사전 수집하는 시스템 - 쉽게 해킹히 가능한 것처럼 취약해 보여야 하고 해커에게 쉽게 노출되어야 함 - 시스템의 모든 구성요소를 갖추고 있어야 함 - 시스템을 통과하는 모든 패킷을 감시해야 함 Dreamy의 코드 스크랩내가 모으고 내가 보는
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5