https://youtu.be/bxjzGkZiS9w?si=HictEmCE1iBwzPts
1. 소프트웨어 개발 보안
1-1. 정보 보안과 관리
- 정보 보안은 정보 유출로 인한 손실이나 도난 방지를 위한 기술임
- 정보 보안의 범위는 손실이나 도난 등으로부터 정보를 보호하는 것까지 포함함
- 정보 보안 관리 대상에 따라 관리 방식이 달라짐
- 관리 대상에 따라 정보 자산, 기업의 개인정보 보호 시스템을 구분함
- (중요) 소프트웨어 개발 보안은 정보 보안의 일환으로, 안정성을 확보하는 것이 중요함
1-2. 소프트웨어 개발 보안의 특성
- 소프트웨어 개발 보안은 소프트웨어 개발 프로세스와 관련된 활동임
- 소프트웨어 개발 보안의 요소는 김일성, 무결성, 가용성, 인증 등이 있음
- 김일성은 사용자만 접근할 수 있도록 제어하는 것을 의미함
- 무결성은 불법적인 정보 생성, 변경, 삭제되지 않는 속성을 의미함
- 가용성은 선택된 대상에 한해 지정된 등급이나 정보에 대한 접근을 허용하는 것을 의미함
1-3. 보안 관련 용어
- 자산은 가치가 부여된 대상으로, 하드웨어, 데이터, 정보 등이 포함됨
- 위협은 정보 자산에 위협을 가하는 주체이며, 해킹, 삭제, 유출 등이 위협에 해당함
- 취약점은 위협을 가하는 요소이며, 자산의 위협을 가하며 피해를 입을 확률이 높아지는 것을 의미함
- 소프트웨어 보안 약점은 보안상의 약점이며, 정보 보호에 문제가 되는 부분을 보완하는 코딩 기법임
- 소프트웨어 보안 강화 개발 환경 구현 계획 수립이 필요함
2. 디지털 보안 정책과 테스트
2-1. 디지털 보안 정책
- 보안 정책은 기술적, 비용적 요소를 고려해야 함
- 현관문 강력한 잠금 설정이 비용적으로 유리함
- 보안 정책 적절성 평가는 항상 고려해야 함
- (중요) 개발자는 보안 담당자가 정책 구현 여부를 체크해야 함
- 보안 관련 담당자는 코드 중요한 정보와 악성코드 삽입 여부 등을 체크해야 함
2-2. 소프트웨어 개발 보안 테스트
- 보안 결함 등급은 복구에 필요한 우선순위를 결정하는 기준으로 사용됨
- (중요) 테스트는 개발자와 운영자 분리된 상태에서 진행되어야 함
- 테스트는 정책 분석과 동적 분석을 모두 포함함
- 보안 테스트 절차는 계획에 따라 실시되며, 적정성 판단 후 결과 신뢰성 체크가 이어져야 함
- 피드백을 통해 보안 테스트의 성공 여부를 평가함
2-3. 보안 결함 관리
- 보안 품질 결과와 구현된 보안 프로그램의 실제 테스트 결과 간 차이가 존재함
- 보안 결함의 종류에는 기대보다 결과가 더 크게 나올 수 있음
- (중요) 보안 결함의 종류에는 모순, 오류, 결함 등이 있음
- 결함 관리 프로세스는 기록 검토, 수정, 재확인 등의 절차를 포함함
- 결함의 신속한 관리와 협력이 중요함
00:01
5과목 두 번째 장 이미자 개발 보안 구축 챕터 인데요. 아 내용이 적진 않습니다. 적진 않지만 출제 비중이 그렇게 높진 않고 그리고 상식적으로 생각해보면 은 어느 정도 맞출 수 있는 부분이 많아요. 그래서 좀 가볍게 공부하실 수 있는 내용이다. 라고 하는 부분이랑 핵심적인 부분만 원칙적인 부분만 같이 좀 보시면은 크게 무리없이 공부하실 수 있는 바트 입니다. 가볍게 보도록 할게요. 우선 소프트웨어 개발 보완해서 용어의 정의가 먼저 필요하겠죠. 정보보호를 먼저 보겠습니다. 정보 를 사용함에 있어서 발생할 수 있는 훼손이나 유출 등을 방지하기 위한 기술을 정보보호 라고 하는데 정보보안 보다. 넓은 의미 라고 되어있어요. 정보 보안은 손실이나 도난 등으로 부터 고온을 하는건데 정보 보호는 여기에 안정성을 확보하는 개념까지 포함 을 한다고 생각하시면 됩니다. 작은데 우리가 공부를 할 때 보통
01:00
정보보호 보다는 정보보안 이라는 개념을 훨씬 더 많이 사용을 하죠. 그렇기 때문에 그냥 같이 섞어서 쏜다고 생각하셔도 크게 문제가 없어요. 자 그리고 정보 보안 관리 책에는 관리 대상에 따라서 isms 랑 p 양의 매수 로 나뉘는데 isn 귀엽네 정보 자산을 얘기 하는거구요. pims 는 기업의 개인정보 보호 시스템을 얘기하는 겁니다. 전까지 를 9분해 주시면 되구요. 넘어가서 소프트웨어 개발 보안에 대한 정의를 봄에는 썩 체험 개발 프로세스에서 수행되는 보안 관련된 활동 전체를 소프트웨어 개발 보안 이라고 이야기 한다. 라고 되어 있는 겁니다. 소프트웨어 개발 보안 요소 시야에 얘기 라고 되어 있죠. 정보보안의 살 원칙이 있는데 김일성 의심이 무 결성에 아니 아 영성의 애니를 붙여서 시 아이앤 이라고 하구요. 정보보안의 3위 요소라고 합니다. 굉장히 자주 나올 개념 이에요. 여기서 나머지 원칙들이 라든지 그런 것들이 파생 된다고 생각하시면 됩니다.
02:01
김일성은 인간인 사용자만 접근할 수 있도록 감춰둔 걸 이야기 하는거구요. 무결성 은 불법적으로 정보가 생성되거나 변경되거나 뭐 삭제되지 않는 속성을 예약이 하구요. 앞에서 많이 이야기 했었죠. 아 용 3 같은 경우에는 인간의 사용자가 문제없이 사용할 수 있어야 된다. 라는 속성이 요. 3가지가 정보보안의 3년 수 없이 아이의 이라고 한다. 이렇게 보시면 되겠습니다. 너 나서 계속해서 보도록 할게요. 소프트웨어 개발 보안 특성 나와 있는데 여기에도 ci 레이가 존재합니다. 여기 첫번째 김일성 보내시구요. 그 다음에 가용성 도 있고요. 그 다음에 무결성 도 존재하죠. 요거는 똑같은 개념이고 그 이외의 기능 부분을 같이 좀 볼게요. 보인 방지 부터 보인 방지 라는 것은 송수신 사실에 대한 징 명을 해줘서 내가 뭐 안 보냈습니다. 안 받았습니다. 이런 것들을 못하게끔 1단 뜻이구요.
03:01
접근 지어 는 앞에서 많이 본 내용인데 선택된 대상의 한해서 지정된 등급이나 정보에 대한 접근을 허용하는 것 여기 접근제어 구요. 권한 부여는 접근 또는 불가능한 사용자 사용자 그룹을 지정하는 것 대상이 약간 다르죠. 접근 가능한 사용자는 해당 정보에 대한 허용 범위에 따라서 작업이 가능하다. 라는 부분까지 보시면 되겠습니다. 다음으로 인증은 식별된 사용자 정보 에 유효성을 확인 한다. 라고 대응 있습니다. 우리가 뭐 로그인을 하거나 할 때 또는 뭐 매크로 방지 문자 뭐 이런것들이 있죠. 그런것들이 인지요. 인증 과정 이라고 보시면 됩니다. 느 정도 로 보고 넘어가도록 하죠. 보안 관련 용어를 좀 보도록 하겠습니다. 일단 자산이 있는데 자산은 가치가 부여된 대상이 하드웨어 서부터 데이터 정보 여러가지가 있는데 어떤 부분이 중요하다고 판단 을 하면 그 부분은 무조건 자산이 된다. 이렇게 생각하시면 됩니다.
04:00
그렇구요. 그 다음에 위험 원이라고 대 0이죠. 위협을 가하는 자산의 위협을 가하는 주체 여기에 위어 원 입니다. 보통 인지의 해커가 될 수도 있고 자연재해가 될 수도 있고 내부 직원이 될 수도 있고 이런 식으로 위 어원 위험을 가하는 행위를 하는 주체 요렇게 보시면 되고 그럼 위협은 뭐냐면 정보 자산 이 곤경을 하는 거에요. 뭐 해킹 삭제 유출 어제 등 나니 여러 가지 정보에 대한 변 형 이라든지 그런 것들을 수행하는 행위 자체를 위협 이라고 한다. 이렇게 보시면 되고 다음으로 취약점이 있습니다. 취약점이 라는 말 굉장히 많이 나올텐데 보안상의 약정 이에요. 말 그대로 취약점이 줘 그래서 정리를 하자면 위험 원 이 취약점을 통해서 자산 의 위협을 가한다. 이렇게 해석을 할 수 있으면 되겠습니다. 안에 좀 이미지를 보시면 이해가 조금 더 쉬우실 거에요. 지금 이 쪽이 이렇게 점선으로 표시가 되어 있거든요. 영상으로 보이실지 모르겠네요. 어 자산이 이렇게 있는데
05:01
전체 가다실 섬인데 이 부분만 연약한 거에요. 포항 이 제안을 해서 이 부분을 취약점이 라고 하는 거죠. 그러면 위 학원은 이 취약점을 통해서 위험을 가 한다는 뜻입니다. 어떤 느낌인지 아시겠죠. 자 그리고 위 험 이라는 단어를 더 보면 피해를 입을 확률 영향도 리스크 자유 걸을 위 험 이라고 한다. 위험이 증가한 다니는 피해를 입을 확률이 높아진다. 또는 피해를 입었을 때 그 여행 크자 뭐 이런 느낌으로 해석을 하시면 되겠죠. 다음은 소프트웨어 보안 약점입니다. 보안상의 압정 취약점이 얘기하는 거죠. 이러한 요소들 때문에 취약점이 발생할 수 있다. 이렇게 이해를 하시면 되구요. 제가 간략하게 예시를 적어놨지만 예시 부분에 대해서 암기를 하실 필요는 없고 이러한 요소들로 보안 약점이 생긴 있으니까? 정도 항목으로 판 하시면 됩니다. 입력 데이터 때문에 문제가 생길 수 있다는 거죠. 그거에
06:02
대한 자세한 내용이 되요. 보안 기능이 적절하지 않아서 문제가 생길 수 있고 시간 및 상태가 뭐 최신 형태가 아니라 든지 아니면 여러 가지 허술한 관리를 해서 문제가 생긴다. 라던지 불충분한 에러 처리 때문에 문제가 생긴다. 뭐 이런 식으로 해석을 하는 거기 때문에 자세한 내용을 암기 하시기 보다. 보안 약점이 총 6가지 줘 7가지가 있는데요. 7가지가 있다. 정도를 파악 하시면 됩니다. 그렇게 울지 않아요. 자 다음 소프트웨어 보안이 강화된 개발 환경 구현 계획 수립 라고 되어있어요. 개발환경 보안이 가미된 개발한 경을 수립해야 된다. 뭐 이런 뜻이죠. 여기 보면은 그래서 인증을 통해서 접근 하도록 해야 되구요. 권한을 별도로 줘야 되구요. 그 다음에 백신 프로그램 설치 라던지 불필요한 인터넷 접속을 차단 한다든지 항상 암호설정 한다든지 이런 식으로 우리가 흔히 보안 이라고 생각했을 때 지켜야 하는 것들이 당연하게 써있습니다. 가볍게 읽어 보시면 됩니다.
07:01
자 그리고 응용 프로그램 분양계획 요건 조금 볼 필요가 있어요. 쉬 큐어 코딩 이라는 개념이 나옵니다. 자 아래쪽에는 볼게요. 씽크 레코딩은 고안에 문제가 되는 부분을 보완해서 보안 약점을 사전에 제거하는 코딩 기법 이라고 되어 있어요. 요기에 대표적으로 하드 코드 라는게 있는데 하드 코딩을 제거해야 되는 거거든요. 한데 코드가 뭐냐면 암호화 키 나 패스워드 같은 것들이 있죠. 이런걸 소스 코드의 그대로 적어 주는 거에요. 자 그래서 그대로 적어 주게 되면 누군가 소스코드를 확인했을 때 그 해당 데이터가 봐도 눈에 보이거든요. 그러면 바로 부안에 약점이 생기는 거죠. 이런 부분을 제거하는게 시큐어 코딩 입니다. 얻어내기 미야 중이죠. 그리고 싱크에 코딩 없이 개발된 소프트웨어를 사후에 다. 완성된 다음에 쉐어 코딩을 하려고 하면 그 비용이 엄청 든다. 이렇게 개혁을 해주시면 되겠죠. 자 그리고 항상 똑같은 이야기지만
08:01
보안정책 보완을 적용 한다는걸 집에 자물쇠를 단다고 생각하며 는 조금 더 와닿을 거에요. 예를 들어서 짐에 옷장이 있고 뭐 수납함이 있고 여러 가지 뭐 싱크대도 있고 여러가지가 있잖아요. 주방에 여러가지 수납함 도 있고 그러면 그런 수납함 마다. 자물쇠를 달아 2 건지 그러면 보아는 완벽하게 찜한 그때가 때 이 자물쇠를 관리해줘야 되고자 무색 열고 잠그고 해야되고 굉장히 복잡해 지잖아요. 그래서 보통 우리가 그렇게 안하고 안에 들어올 수가 없게끔 현관문을 강하게 잠금을 걸어 두죠. 창문 같은 것들 이런 부분이 보안 정책 이라는 건데요. 보안 정책에 대한 적절성을 항상 고려를 해야 해요. 기술적인 부분도 놓고 비용적인 부분도 그렇고 전체 수납함을 가 번호 키를 달아 두는 것보다는 디지털 통 울아가 하는 것보다는 현관문에 만도 락을 1 하는게 훨씬 더 비용적인 측면에서 유리하죠. 이런 느낌입니다. 상식적으로
09:00
접근을 하시면 문제 푸는 데 아무런 무리가 없습니다. 넘어갈게요. 두번째 포인트 미디아 소프트웨어 개발 보안 구현 이라고 대응이 줘 섬 체어 개발 보안 애매한 시큐어 코딩 이라고 되어 있어요. 자 여기서 는 중요한 건 아까도 말씀드렸듯이 어디까지 보안을 구현할 거냐 흐 부분입니다. 자면서 개인정보 입력시 의 어디까지 암호화 를 진행 할 건지 아니면 적당한 보안 솔루션을 제공하고 있는지 암호화가 불필요한 부분을 찾아서 이거는 제외하고 암호화 를 적용 한다든지 공연이 끝나고 적절한 테스트를 해야 된다. 뭐 이런 것들을 고려해야 된다는 거죠. 특별하게 어려운 개념 원입니다. 암호화 늘 많이 하면 안전하게 찜한 불편해요. 그래서 적절한 그리고 비용이 적절히 되는 이런 부분을 고려해야 된다. 유액 입니다. 자 그래서 개발자가 이런식으로 구현을 하게 되면 보안 관련 담당자는 이 내용들이 정확하게 구현 되었는지 체크를 해야 되요. 실제로 공격도
10:00
해보고 코드의 중요한 정보 하드 코드 가 되어 있는지 악성코드 같은게 삽입되어 있는지 또는 발생 가능한 예외 사양에 대한 처리가 되어 있는지 이런 것들을 하나하나 체크를 해보는 거죠. 개발자나 이걸 직접 체크하지 않습니다. 넘어가서 계속 볼게요. 사람은 응용 프로그램 구현 환경관리 라고 되어있는데 읽어보시면 더 다양한 얘기에 예를 들어서 잘못된 로그인 행위를 제안한다. 고 되어 있구요. 일정시간이 경과하면 자동으로 누구보 하게끔 되어 있고 회 스워드 도 여러 가지 뭐 최소 길이를 제안 한다든지 특수 문제는 꼭 집어 넣는 다든지 그런 식으로 체크를 해야 된다는 거고 불필요한 계정은 삭제를 해야 되구요. 뭐 이런식으로 여러 가지 장난 이야기들을 하고 있기 때문에 간단하게 7만 보시면 됩니다. 특별하게 이 계보 안정을 해칠 것 같다. 라는 문제는 바로 눈에 들어올 거에요. 그렇게 보시면 될거 같고 다음은 응용 프로그램 주요. 취약점 점검 입니다. 일단은 xss 라고
11:03
되어있죠. 크로스 사이트 스크립팅 의 약자인데 웹페이지에 악의적인 스크립트를 포함 시키는 겁니다. 그래서 나도 모르게 악의적인 스크립트를 실행할 수 있게끔 지정을 하는거구요. 두번째 인지세 는 코드나 sql 게다가 의도하지 않은 명령어를 중이 패서 그 명령을 실행 하게끔 하는 형태 요. 그래서 sql 인젝션 뭐 코드 인젝션 이렇게 표현합니다. 사용으로 불완전한 직접적인 객체 참조 이 문장 자체 줘 참전을 안전하지 않은 방법으로 제공할 경우 불완전 암호 주장 이거 자체 줘 다음의 url 접근 제한 실패 모호한 ui 를 통해서 서비스를 제외한 하는거 3 다음으로 그냥 문장 그대로 에요. 인증 미세 신에 대한 관리를 올바르게 이행하지 않는 것 사이트 간 요청 위주 요청을 말 그녀는 위조 하는 거죠. 뭐 이런 느낌입니다. 그렇게 등의 특별하게 어려운 내용은 아니에요. 잘못된 보안 설정 때문에 문제가
12:00
생기는 거구요. 불충분한 전송 레이어 보호 때문에 문제가 생기는 거죠. 그래서 이제 공부를 하시면서 뭐 이런 것들이 있구나 하면서 가볍게 넣으셔도 충분히 할 수 있는 부분인데 봤는데 생존한 단어들이 종종 있습니다. 예를 들어서 이런거죠. 검증되지 않은 리다이렉트 킹 사용자가 웹 사이트로 악성 웹 사이트로 리다이렉트 헤어 위험에 노출되는 것이다. 이런 것들은 리디아 이벤트가 뭔지 아시는 분들은 그냥 그렇구나 하고 넘어갈 수 있지만 인자의 데이트 가 뭔지 모르시는 분들은 이게 무슨 소리지 할 수 있잖아요. 그래서 이제 종종 제가 알려드릴 건데 제가 알려 드리지 않고 궁금하신 부분은 구글링을 하시거나 질문게시판에 남겨주시면 되요. 니다. 이벤트를 뭐냐면 네가 어떤 사이트에서 어떤 링크를 클릭하거나 하게 되면 해당 사이트의 다른 페이지로 넘어가는 게 일반적 이에요. 그런데 가끔 어떤 링크를 클릭하면 다른 사이트로 넘어가게 되는 경우가 있습니다. 이걸 리다이렉트 라고 해요. 이스 현재 사이트에서 다른 사이트로
13:02
변경되는 것을 직접적으로 이걸 리다이렉트 라고 한다. 이렇게 알고 계시면 됩니다. 그러니까? 어떤 링크를 클릭하거나 뭔가 했을 때 다른 악성 웹 사이트 로리 달 된다. 이렇게 해석을 하시면 되겠습니다. 다음으로 애플리케이션 로직 이 악용 되서 문제가 생기는 경우 인증을 우해 하거나 권한을 오해해서 분야를 해서 문제가 생기는 경우 이런 것들이 있다는 거죠. 종로까지 보시면 되겠습니다. 자 형으로 소프트웨어 개발 보안 테스트 입니다. 왕상 테스트는 존재하죠. 일단 보안 결함 등급 이라는게 있는데 보안 사고 발생시에 복구에 필요한 우선순위를 결정할 때 a 등급을 가지고 결정을 한다. 라고 써있어요. 영양도 와 긴급 때에 따라서 측정이 된다고 되어 있구요. 등급을 이렇게 구할 수 있다. 라고 대형 있습니다. 0 1 등급에 따른 주요. 관리 항목 기억해 주시면 도움이 되겠죠. 제 그리고 테스트에 마찬가지 여기도 정첩 분석과 동적 본성이 있어요. 상호
14:02
보완적으로 선택할 수 있다. 각각의 특징이기 때문에 정책 분석도 하고 동쪽 분석도 해서 여러가지 할 수 있다라고 되어 있는 거죠. 정책분석 은 소스코드를 기준으로 동적 분석 은 실행 환경에서 싶었던 특정 기능의 실행 결과 이런 것들을 보고 판단을 하는 거죠. 앞에서 지겹게 배웠던 내용입니다. 자 그래서 0 있는 부분을 사실 크게 중요한 건 아니구요. 위쪽에 영향도 긴급 또 요즘 되면 봐 주시면 되고 왔고 요기 아래 일반원칙 요걸 조금 보시면 됩니다. 제가 아까? 테스트를 할때 개발자 만 보안 담당자가 따로 테스트를 한다. 한명을 만들고 한 명은 테스트를 한다. 이렇게 이야기 했는데 그 이유는 공정한 테스트가 불가능 하기 때문이에요. 재발 자가 테스트 까지 진행을 하게 되면은 이미 그 시스템을 파악하고 있기 때문에 공정하게 테스트가 불가능해요. 그래서 개발자와 운영자는 분리되서 테스트를 수행 해야 된다. 라고 되어 있는 겁니다. 이런 원칙은 보안 쪽이 특별히 적용되는 원칙이기 때문에
15:01
기억을 해 주셔야 되요. 보안 테스트 절차 간단하게 제가 설명을 해놓았습니다. 계획에 따라서 실시하고 테스트가 적정한지 판단하고 결과의 신뢰성 을 체크하고 그 다음에 피드백을 하고 요. 순서대로 진행 한다고 보시면 됩니다. 어려운 개념은 아니죠. 태양으로 소프트웨어 보안 결함 관리 결함 임원진은 앞에서 설명했지만 구제 다시 정리를 하자면 기대하는 보안 품질의 결과와 구현된 보안 프로그램의 실제 테스트 결과에 차이점이 변합니다. 이렇게 볼 수 있다는 거죠. 보안 결함의 종류가 이렇게 나와있는데 정리해 보면요. 정도 됩니다. 그렇게 어려운 개념이 아니죠. 그런데 영상 독특한게 모순 프 트 웨 어 에 특이한 고정 이란 항목이 있어요. 이것은 아마 처음 오실 테니까? 한번 읽어보시면 좋을 것 같습니다. 내려가서 소프트웨어 보안 변환 관리 프로세스의 보안 벼랑 관리 프로세스 라고 해서 못해 다른건 아니구요. 비슷합니다. 기록
16:00
검토 수정 재확인 뭐 이런 절차를 거친 야라 고 되어 있는거고 각각에 대한 활동을 적어 놓은 건데 특별하게 어려운 내용은 아니니까? 1 것만 보시면 될 것 같아요. 순서가 중요합니다. 넘어가서 조치된 결함에 대해 분석해서 조치 내역과 함께 중대한 취약점에 대한 리스크를 식별하는 결과를 통해 보고서를 작성한다고 되어 있습니다. 아 결함에 대한 리스크를 판단해서 아주 높을 경우에는 즉각적으로 개선을 하며 그냥 높을 경우에는 한달안에 개선을 해야 된다. 이렇게 기준을 정하는 거죠. 중간엔 한 3달 안에 중 기간 70 오늘 정도 않은 계산을 해야 되구요. 낮은 리 스캔 한 6개월 정도 안에 나중에 대대적인 뭐 업데이트가 있을 때 한 번 손을 본다든지 그런 식으로 개선하겠다. 뭐 이런식으로 정리를 할 수 있다는 거죠. 리스크의 따라서 바로 개선 할 건지 어느 정도 시간을 2 건지 이런 것들을 9분 할 수 있다는 겁니다. 모든 결함에 대해서 바로 조치를 취하면 가장 좋겠지만 항상 뭐가 문제에요. 기술적인 문제도 있고 가장
17:01
큰건 비용이 줘 그렇기 때문에 이렇게 순서를 주는 거다. 이렇게 보시면 되겠습니다.
'이기적영진닷컴 정보처리기사 필기강의 > 정보시스템 구축관리' 카테고리의 다른 글
[정보처리기사 올인원] 5-3-2.보안 솔루션 (0) | 2025.06.27 |
---|---|
[정보처리기사 올인원] 5-3-1.보안 공격 및 예방 (0) | 2025.06.27 |
[정보처리기사 올인원] 5-2-2.시스템 보안 구축 (0) | 2025.06.27 |
[정보처리기사 올인원] 5-1-2.통신망 기술 (0) | 2025.06.27 |
[정보처리기사 올인원] 5-1-1.네트워크 구축 관리 (0) | 2025.06.27 |