Iconos SCW
héroe bg sin separador
Blog

미스라 C 2012 vs 미스라 C2 - 스위치 만드는 법

Secure Code Warrior
Publicado el 17 de agosto de 2021
Última actualización el 9 de marzo de 2026

시큐어 코드 워리어에서는 항상 교육 범위를 확대하기 위해 노력하고 있습니다.임베디드 개발자와 보안 관리자가 안전한 임베디드 시스템을 구축할 수 있도록 지원하기 위해 임베디드 시스템 보안의 세계를 활용하고 있습니다.이 글에서는 MISRA C 2012 표준에 대해 알아보고 안전한 임베디드 시스템을 구축하기 위해 규정 준수가 필요한 이유에 대해 알아보겠습니다.

C로 코드를 작성할 때 겉보기에는 옳아 보이지만 본질적으로 잘못된 것을 구현하는 것은 매우 쉽습니다.코드는 잘 컴파일될 수 있고 심지어 일정 기간 동안에는 잘 실행될 수도 있습니다.하지만 입력 크기 및/또는 메모리가 커지면 동일한 코드가 충돌하거나 정의되지 않은 동작이 나타날 수 있습니다.예를 들어 특정 입력 숫자로 인해 정수가 오버플로우되거나 특정 문자 시퀀스로 인해 배열이 범위를 벗어날 수 있습니다.

MISRA C 코딩 표준이 도움이 될 수 있는 부분입니다.표준에서 제시하는 규칙, 지침 및 모범 사례를 통해 개발자는 임베디드 개발을 위한 안전하고 신뢰할 수 있는 C 코드를 작성할 수 있습니다.

표준의 최신 버전인 MISRA C 2012는 새로운 규칙을 추가하고 기존 규칙을 개선하며 일부 불일치를 해결합니다.여전히 이전 버전을 사용하고 있다면 지금이 전환하기에 좋은 시기입니다.

MISRA C 코딩 표준은 무엇입니까?

MISRA C 표준에는 C 프로그래밍 언어에 대한 코드 안전, 이식성 및 신뢰성 지침이 포함되어 있습니다.첫 번째 지침은 1998년에 발표되었으며 C 언어에만 해당되었습니다.

그러나 이후 MISRA 컨소시엄은 C++의 코딩 표준도 개발합니다.모든 MISRA C 문서에는 일련의 규칙, 규정 미준수 예제 및 해당 규칙의 개발에 기여한 배경 정보에 대한 세부 섹션이 포함되어 있습니다.

C와 C++은 임베디드 소프트웨어를 개발하는 데 가장 널리 사용되는 언어입니다.주된 이유 중 하나는 기계어에 비해 추상화 수준이 1~2단계밖에 되지 않아 속도가 빠르기 때문입니다.하지만 이는 특히 C로 안전한 코드를 작성하는 것이 어렵고 오류가 발생하기 쉽다는 의미이기도 합니다.예를 들어 Java 및 C #과 같은 대부분의 고급 언어에서는 가비지 컬렉션이나 동적 입력과 같은 사소한 일에 대해 걱정할 필요가 없습니다.

그러나 C에서는 가비지를 수집하는 사전 정의된 방법이 없습니다. 즉, 데이터 구조에 메모리를 할당하는 경우 사용을 마친 후에는 수동으로 데이터를 비워야 합니다.그렇지 않으면 다른 언어와 달리 C는 메모리를 자동으로 비워주지 않아 메모리 누수가 발생합니다.

MISRA C 2004 (C2) 대 MISRA C 2012 (C3) — 무엇이 바뀌었나요?

C3라고도 하는 MISRA C: 2012는 2013년 4월에 처음 출시되었습니다.C3에서는 수천 명의 사람들과 단체가 작업한 지식을 바탕으로 새로운 규칙을 추가하고, 일부 기존 규칙의 설명과 배경을 개선하고, 일부 허점을 없애 줍니다.

C3은 C99 버전의 언어를 지원하는 동시에 이전 ISO C90에 대한 규칙도 유지합니다.C3의 주요 주안점은 일반적인 규칙 적용 비용을 줄이는 동시에 중요한 시스템에서 C 언어를 더 안전하게 사용할 수 있도록 하는 것이었습니다.따라서 아직 새 표준으로 전환하지 않았다면 신중하게 새 표준으로 전환하는 것이 좋습니다.

전반적으로 가장 중요한 변경 사항은 다음과 같습니다.

  • 2004 버전에서 발견된 문제를 수정합니다.
  • 수를 대폭 늘리십시오 결정 가능한 규칙. 규칙은 결정할 수 있는, 분석 도구가 적합성을 판단하는 데 도움이 될 수 있는지 여부
  • 규칙은 “필수”, “권고” 또는 “필수”로 분류됩니다.어떤 상황에서도 필수 규칙을 어겨서는 안 됩니다.특별 시나리오에서는 위반이 정당하다면 필수 규칙 및 권고 규칙을 위반할 수 있습니다.
  • 자동 생성된 코드에 규칙을 적용하는 방법에 대한 지침이 추가되었습니다.이는 사람이 작성한 코드와 동일한 지침이 도구로 생성된 코드에 항상 적용되는 것은 아니기 때문에 매우 중요합니다.
  • 합리적인 사용자 행동을 금지하는 지나치게 일반화된 규칙을 삭제하세요.예를 들어 이전에는 매크로를 전혀 사용하지 않는 것이 좋습니다. 매크로를 디버그할 수 없거나 매크로에 네임스페이스가 없는 등 다양한 어려움과 혼란을 야기할 수 있기 때문입니다.따라서 우아하고 안전하며 편리한 솔루션을 제공할 수 있는 상황에서도 매크로를 사용할 수 없었습니다.MISRA C: 2012에서는 매크로에 관한 새로운 규칙이 도입되어 사람들이 필요할 때마다 매크로를 신중하게 사용할 수 있게 되었습니다.함수보다 매크로를 사용할 것을 권장하는 MISRA C 문서에서 발췌한 다음 내용을 참조하십시오.

MISRA C 규칙 적용 사례

이제 논의는 끝났으니, 이제 MISRA C 규칙의 적용 예와 함께 실습해 볼 차례입니다.

호환되는 유형을 memcpy, memmove 및 memcmp에 대한 포인터 인수로 사용

표준 라이브러리 함수 메모피, 메모무브, memcmp 지정된 바이트 수의 바이트별 이동 또는 비교를 수행합니다.MISRA C 2012 표준의 규칙 21.15에 따르면 두 함수 매개 변수는 동일한 유형에 대한 포인터여야 합니다.포인터 유형이 호환되지 않는 함수 호출은 실수를 의미할 수 있습니다.

공식 MISRA 규정 준수 문서에서 발췌한 다음 이미지를 고려해 보십시오.규칙은 다음과 같습니다. 필수, 결정 가능, C90과 C99 모두에 적용됩니다.

Captura de pantalla de la regla 21.15 de MISRA C

다음은 규칙 설명입니다.

Captura de pantalla de una solución no conforme.

보시다시피 객체의 유형이 서로 다르기 때문에 (uint8_t 및 uint16_t) 이는 규정을 준수하지 않는 솔루션입니다.

길이를 입력으로 사용하지 않는 문자열 처리 함수는 범위를 벗어난 액세스를 초래하지 않습니다.

<string.h>이 함수의 문자열 처리 함수는 길이를 입력으로 사용하지 않으므로 범위를 벗어난 액세스가 발생하지 않아야 합니다.관련 함수로는 strcat, strchr, strcmp, strcoll, strcpy, strcspn, strlen, strpbrk, strrchr, strspn, strstr 및 strtok이 있습니다.규칙은 다음과 같습니다. 필수, 즉, 어떤 상황에서도 절대 침해될 수 없습니다.C90과 C99 모두에 적용되며 다음과 같습니다. 결정할 수 없습니다.

Captura de pantalla de la regla 21.17 de MISRA C.

해당 예는 다음과 같습니다.

Captura de pantalla de un ejemplo correcto de funciones de manejo de cadenas

보시다시피 끈적끈적한 함수 f1에서는 5자만 포함할 수 있는 문자열의 길이를 초과하여 복사합니다.또한 strcpy를 규정을 준수하고 안전하게 사용하고 있습니다. strcpy에서는 “str”의 내용이 맞는 경우에만 문자열이 복사됩니다.

외부에서 수신한 데이터의 유효성을 검사합니다.

Dir 4.14는 “외부” 소스로부터 받은 데이터의 유효성을 검사할 것을 권장합니다.외부 입력은 다음과 같을 수 있습니다.

  • 파일에서 읽습니다.
  • 환경 변수에서 읽습니다.
  • 모든 사용자 입력.
  • 커뮤니케이션 채널을 통해 수신한 모든 것예: TCP 연결 또는 HTTP API 등을 통해

이 지침은 다음에 속합니다. 필수 카테고리이며 C90과 C99 모두에 적용됩니다.그 이유는 프로그램이 외부 소스에서 수신한 데이터를 제어할 수 없기 때문입니다. 즉, 해당 데이터가 유효하지 않거나 악의적일 수 있습니다.예를 들어 프로그램은 사용자가 숫자를 입력할 것으로 예상하지만 사용자가 문자열을 입력합니다.입력값을 처리하기 전에 프로그램은 해당 숫자가 실제로 숫자인지 확인해야 합니다.

Se comprobará la validez de los valores recibidos de fuentes externas

미스라 C 2012로 전환하는 방법

MISRA C 2012로 전환하려면 코딩 지침 문서를 업데이트해야 합니다.정적 분석 도구를 사용하지 않고 대신 정적 분석 도구 (권장 선택) 를 사용하는 경우 새 버전의 도구를 구해야 할 수 있습니다.다음은 MISRA C 2012 규정 준수를 확인하는 세 가지 도구입니다.

  1. Cppcheck MISRA 규칙을 확인하고 다양한 종류의 버그를 탐지할 수 있는 오픈 소스 도구입니다.
  2. PC-린트 플러스 30일의 평가 기간이 제공되는 유료 도구입니다.MISRA C 규정 준수를 확인하는 것 외에도 잠재적 버그 및 취약점을 식별하는 데도 도움이 됩니다.
  3. 코드소나 MISRA C 및 C++ 규정 준수를 모두 검사하는 또 다른 도구입니다.

MISRA 규정 준수를 테스트할 수 있는 컴파일러도 몇 가지 있습니다.규칙 위반이 감지되면 그에 따라 경고 또는 예외가 발생합니다.예: 그린 힐스 소프트웨어 32비트 및 64비트 아키텍처 모두에 대한 모든 MISRA 표준을 지원하는 컴파일러를 제공합니다.

시큐어 코드 워리어를 사용하여 MISRA C에서 개발자 기술 향상

Secure Code Warrior의 주력 제품인 학습 플랫폼에는 개발자가 안전한 C/C++ 코드를 작성하도록 교육하는 데 도움이 되는 수많은 대화형 과제, 과정 및 평가가 있습니다.플랫폼의 콘텐츠는 프레임워크에 특화되어 있으며 참여도가 매우 높습니다.C/C++: 임베드 코딩 과제는 MISRA C, AUTOSAR C++ (MISRA C++) 및 IEC에서 모두 영감을 받았습니다.

개발자는 C/C++ 관련 취약점을 식별하고 더 중요한 버그를 수정하는 방법을 배울 수 있는 맞춤형 학습 여정을 시작할 수 있습니다.이 과정에서 개발자는 진행 상황을 추적하여 약점을 찾아낼 수 있으며, 동료들과 함께 우호적인 코딩 대회를 즐길 수도 있습니다.에 대해 자세히 알아보십시오. 자동차 및 운송 산업을 지원하는 방법 우리의 솔루션과 함께.

우리의 과제가 얼마나 인터랙티브하고 임베디드 포커스인지 알고 싶으신가요?시도해 보세요 일부 C/C++:임베드 챌린지 오늘 학습 플랫폼에서!

Ver recursos
Ver recursos

이 게시물에서는 MISRA C 2012 표준을 C2와 비교하고 새 표준으로 전환하는 과정을 안내해 드리겠습니다.안전한 임베디드 시스템을 구축하기 위해 MISRA의 규정 준수가 필요한 이유를 설명하겠습니다.

¿Le interesa saber más?

Secure Code Warrior hace que la codificación segura sea una experiencia positiva y atractiva para los desarrolladores a medida que aumentan sus habilidades. Guiamos a cada programador a lo largo de su propio camino de aprendizaje, para que los desarrolladores con conocimientos de seguridad se conviertan en los superhéroes cotidianos de nuestro mundo conectado.

Más información

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Reserva de demostración
Destinatarios:
marcas de LinkedInSocialx logotipo
Autor
Secure Code Warrior
Publicado el 17 de agosto de 2021

Secure Code Warrior hace que la codificación segura sea una experiencia positiva y atractiva para los desarrolladores a medida que aumentan sus habilidades. Guiamos a cada programador a lo largo de su propio camino de aprendizaje, para que los desarrolladores con conocimientos de seguridad se conviertan en los superhéroes cotidianos de nuestro mundo conectado.

Este artículo fue escrito por Secure Code Warrior El equipo de expertos de la industria de está comprometido a brindar a los desarrolladores los conocimientos y las habilidades para crear software seguro desde el principio. Aprovechamos nuestra profunda experiencia en prácticas de codificación segura, tendencias de la industria y conocimientos del mundo real.

Destinatarios:
marcas de LinkedInSocialx logotipo

시큐어 코드 워리어에서는 항상 교육 범위를 확대하기 위해 노력하고 있습니다.임베디드 개발자와 보안 관리자가 안전한 임베디드 시스템을 구축할 수 있도록 지원하기 위해 임베디드 시스템 보안의 세계를 활용하고 있습니다.이 글에서는 MISRA C 2012 표준에 대해 알아보고 안전한 임베디드 시스템을 구축하기 위해 규정 준수가 필요한 이유에 대해 알아보겠습니다.

C로 코드를 작성할 때 겉보기에는 옳아 보이지만 본질적으로 잘못된 것을 구현하는 것은 매우 쉽습니다.코드는 잘 컴파일될 수 있고 심지어 일정 기간 동안에는 잘 실행될 수도 있습니다.하지만 입력 크기 및/또는 메모리가 커지면 동일한 코드가 충돌하거나 정의되지 않은 동작이 나타날 수 있습니다.예를 들어 특정 입력 숫자로 인해 정수가 오버플로우되거나 특정 문자 시퀀스로 인해 배열이 범위를 벗어날 수 있습니다.

MISRA C 코딩 표준이 도움이 될 수 있는 부분입니다.표준에서 제시하는 규칙, 지침 및 모범 사례를 통해 개발자는 임베디드 개발을 위한 안전하고 신뢰할 수 있는 C 코드를 작성할 수 있습니다.

표준의 최신 버전인 MISRA C 2012는 새로운 규칙을 추가하고 기존 규칙을 개선하며 일부 불일치를 해결합니다.여전히 이전 버전을 사용하고 있다면 지금이 전환하기에 좋은 시기입니다.

MISRA C 코딩 표준은 무엇입니까?

MISRA C 표준에는 C 프로그래밍 언어에 대한 코드 안전, 이식성 및 신뢰성 지침이 포함되어 있습니다.첫 번째 지침은 1998년에 발표되었으며 C 언어에만 해당되었습니다.

그러나 이후 MISRA 컨소시엄은 C++의 코딩 표준도 개발합니다.모든 MISRA C 문서에는 일련의 규칙, 규정 미준수 예제 및 해당 규칙의 개발에 기여한 배경 정보에 대한 세부 섹션이 포함되어 있습니다.

C와 C++은 임베디드 소프트웨어를 개발하는 데 가장 널리 사용되는 언어입니다.주된 이유 중 하나는 기계어에 비해 추상화 수준이 1~2단계밖에 되지 않아 속도가 빠르기 때문입니다.하지만 이는 특히 C로 안전한 코드를 작성하는 것이 어렵고 오류가 발생하기 쉽다는 의미이기도 합니다.예를 들어 Java 및 C #과 같은 대부분의 고급 언어에서는 가비지 컬렉션이나 동적 입력과 같은 사소한 일에 대해 걱정할 필요가 없습니다.

그러나 C에서는 가비지를 수집하는 사전 정의된 방법이 없습니다. 즉, 데이터 구조에 메모리를 할당하는 경우 사용을 마친 후에는 수동으로 데이터를 비워야 합니다.그렇지 않으면 다른 언어와 달리 C는 메모리를 자동으로 비워주지 않아 메모리 누수가 발생합니다.

MISRA C 2004 (C2) 대 MISRA C 2012 (C3) — 무엇이 바뀌었나요?

C3라고도 하는 MISRA C: 2012는 2013년 4월에 처음 출시되었습니다.C3에서는 수천 명의 사람들과 단체가 작업한 지식을 바탕으로 새로운 규칙을 추가하고, 일부 기존 규칙의 설명과 배경을 개선하고, 일부 허점을 없애 줍니다.

C3은 C99 버전의 언어를 지원하는 동시에 이전 ISO C90에 대한 규칙도 유지합니다.C3의 주요 주안점은 일반적인 규칙 적용 비용을 줄이는 동시에 중요한 시스템에서 C 언어를 더 안전하게 사용할 수 있도록 하는 것이었습니다.따라서 아직 새 표준으로 전환하지 않았다면 신중하게 새 표준으로 전환하는 것이 좋습니다.

전반적으로 가장 중요한 변경 사항은 다음과 같습니다.

  • 2004 버전에서 발견된 문제를 수정합니다.
  • 수를 대폭 늘리십시오 결정 가능한 규칙. 규칙은 결정할 수 있는, 분석 도구가 적합성을 판단하는 데 도움이 될 수 있는지 여부
  • 규칙은 “필수”, “권고” 또는 “필수”로 분류됩니다.어떤 상황에서도 필수 규칙을 어겨서는 안 됩니다.특별 시나리오에서는 위반이 정당하다면 필수 규칙 및 권고 규칙을 위반할 수 있습니다.
  • 자동 생성된 코드에 규칙을 적용하는 방법에 대한 지침이 추가되었습니다.이는 사람이 작성한 코드와 동일한 지침이 도구로 생성된 코드에 항상 적용되는 것은 아니기 때문에 매우 중요합니다.
  • 합리적인 사용자 행동을 금지하는 지나치게 일반화된 규칙을 삭제하세요.예를 들어 이전에는 매크로를 전혀 사용하지 않는 것이 좋습니다. 매크로를 디버그할 수 없거나 매크로에 네임스페이스가 없는 등 다양한 어려움과 혼란을 야기할 수 있기 때문입니다.따라서 우아하고 안전하며 편리한 솔루션을 제공할 수 있는 상황에서도 매크로를 사용할 수 없었습니다.MISRA C: 2012에서는 매크로에 관한 새로운 규칙이 도입되어 사람들이 필요할 때마다 매크로를 신중하게 사용할 수 있게 되었습니다.함수보다 매크로를 사용할 것을 권장하는 MISRA C 문서에서 발췌한 다음 내용을 참조하십시오.

MISRA C 규칙 적용 사례

이제 논의는 끝났으니, 이제 MISRA C 규칙의 적용 예와 함께 실습해 볼 차례입니다.

호환되는 유형을 memcpy, memmove 및 memcmp에 대한 포인터 인수로 사용

표준 라이브러리 함수 메모피, 메모무브, memcmp 지정된 바이트 수의 바이트별 이동 또는 비교를 수행합니다.MISRA C 2012 표준의 규칙 21.15에 따르면 두 함수 매개 변수는 동일한 유형에 대한 포인터여야 합니다.포인터 유형이 호환되지 않는 함수 호출은 실수를 의미할 수 있습니다.

공식 MISRA 규정 준수 문서에서 발췌한 다음 이미지를 고려해 보십시오.규칙은 다음과 같습니다. 필수, 결정 가능, C90과 C99 모두에 적용됩니다.

Captura de pantalla de la regla 21.15 de MISRA C

다음은 규칙 설명입니다.

Captura de pantalla de una solución no conforme.

보시다시피 객체의 유형이 서로 다르기 때문에 (uint8_t 및 uint16_t) 이는 규정을 준수하지 않는 솔루션입니다.

길이를 입력으로 사용하지 않는 문자열 처리 함수는 범위를 벗어난 액세스를 초래하지 않습니다.

<string.h>이 함수의 문자열 처리 함수는 길이를 입력으로 사용하지 않으므로 범위를 벗어난 액세스가 발생하지 않아야 합니다.관련 함수로는 strcat, strchr, strcmp, strcoll, strcpy, strcspn, strlen, strpbrk, strrchr, strspn, strstr 및 strtok이 있습니다.규칙은 다음과 같습니다. 필수, 즉, 어떤 상황에서도 절대 침해될 수 없습니다.C90과 C99 모두에 적용되며 다음과 같습니다. 결정할 수 없습니다.

Captura de pantalla de la regla 21.17 de MISRA C.

해당 예는 다음과 같습니다.

Captura de pantalla de un ejemplo correcto de funciones de manejo de cadenas

보시다시피 끈적끈적한 함수 f1에서는 5자만 포함할 수 있는 문자열의 길이를 초과하여 복사합니다.또한 strcpy를 규정을 준수하고 안전하게 사용하고 있습니다. strcpy에서는 “str”의 내용이 맞는 경우에만 문자열이 복사됩니다.

외부에서 수신한 데이터의 유효성을 검사합니다.

Dir 4.14는 “외부” 소스로부터 받은 데이터의 유효성을 검사할 것을 권장합니다.외부 입력은 다음과 같을 수 있습니다.

  • 파일에서 읽습니다.
  • 환경 변수에서 읽습니다.
  • 모든 사용자 입력.
  • 커뮤니케이션 채널을 통해 수신한 모든 것예: TCP 연결 또는 HTTP API 등을 통해

이 지침은 다음에 속합니다. 필수 카테고리이며 C90과 C99 모두에 적용됩니다.그 이유는 프로그램이 외부 소스에서 수신한 데이터를 제어할 수 없기 때문입니다. 즉, 해당 데이터가 유효하지 않거나 악의적일 수 있습니다.예를 들어 프로그램은 사용자가 숫자를 입력할 것으로 예상하지만 사용자가 문자열을 입력합니다.입력값을 처리하기 전에 프로그램은 해당 숫자가 실제로 숫자인지 확인해야 합니다.

Se comprobará la validez de los valores recibidos de fuentes externas

미스라 C 2012로 전환하는 방법

MISRA C 2012로 전환하려면 코딩 지침 문서를 업데이트해야 합니다.정적 분석 도구를 사용하지 않고 대신 정적 분석 도구 (권장 선택) 를 사용하는 경우 새 버전의 도구를 구해야 할 수 있습니다.다음은 MISRA C 2012 규정 준수를 확인하는 세 가지 도구입니다.

  1. Cppcheck MISRA 규칙을 확인하고 다양한 종류의 버그를 탐지할 수 있는 오픈 소스 도구입니다.
  2. PC-린트 플러스 30일의 평가 기간이 제공되는 유료 도구입니다.MISRA C 규정 준수를 확인하는 것 외에도 잠재적 버그 및 취약점을 식별하는 데도 도움이 됩니다.
  3. 코드소나 MISRA C 및 C++ 규정 준수를 모두 검사하는 또 다른 도구입니다.

MISRA 규정 준수를 테스트할 수 있는 컴파일러도 몇 가지 있습니다.규칙 위반이 감지되면 그에 따라 경고 또는 예외가 발생합니다.예: 그린 힐스 소프트웨어 32비트 및 64비트 아키텍처 모두에 대한 모든 MISRA 표준을 지원하는 컴파일러를 제공합니다.

시큐어 코드 워리어를 사용하여 MISRA C에서 개발자 기술 향상

Secure Code Warrior의 주력 제품인 학습 플랫폼에는 개발자가 안전한 C/C++ 코드를 작성하도록 교육하는 데 도움이 되는 수많은 대화형 과제, 과정 및 평가가 있습니다.플랫폼의 콘텐츠는 프레임워크에 특화되어 있으며 참여도가 매우 높습니다.C/C++: 임베드 코딩 과제는 MISRA C, AUTOSAR C++ (MISRA C++) 및 IEC에서 모두 영감을 받았습니다.

개발자는 C/C++ 관련 취약점을 식별하고 더 중요한 버그를 수정하는 방법을 배울 수 있는 맞춤형 학습 여정을 시작할 수 있습니다.이 과정에서 개발자는 진행 상황을 추적하여 약점을 찾아낼 수 있으며, 동료들과 함께 우호적인 코딩 대회를 즐길 수도 있습니다.에 대해 자세히 알아보십시오. 자동차 및 운송 산업을 지원하는 방법 우리의 솔루션과 함께.

우리의 과제가 얼마나 인터랙티브하고 임베디드 포커스인지 알고 싶으신가요?시도해 보세요 일부 C/C++:임베드 챌린지 오늘 학습 플랫폼에서!

Ver recursos
Ver recursos

Para descargar el informe, rellene el siguiente formulario.

Solicitamos su consentimiento para enviarle información sobre nuestros productos y/o temas relacionados con la codificación de seguridad. Siempre tratamos su información personal con el máximo cuidado y nunca la vendemos a otras empresas con fines de marketing.

Enviar
Icono de éxito de SCW
Icono de error scw
Para enviar el formulario, active la cookie «Analytics». Una vez completado, puede desactivarla en cualquier momento.

시큐어 코드 워리어에서는 항상 교육 범위를 확대하기 위해 노력하고 있습니다.임베디드 개발자와 보안 관리자가 안전한 임베디드 시스템을 구축할 수 있도록 지원하기 위해 임베디드 시스템 보안의 세계를 활용하고 있습니다.이 글에서는 MISRA C 2012 표준에 대해 알아보고 안전한 임베디드 시스템을 구축하기 위해 규정 준수가 필요한 이유에 대해 알아보겠습니다.

C로 코드를 작성할 때 겉보기에는 옳아 보이지만 본질적으로 잘못된 것을 구현하는 것은 매우 쉽습니다.코드는 잘 컴파일될 수 있고 심지어 일정 기간 동안에는 잘 실행될 수도 있습니다.하지만 입력 크기 및/또는 메모리가 커지면 동일한 코드가 충돌하거나 정의되지 않은 동작이 나타날 수 있습니다.예를 들어 특정 입력 숫자로 인해 정수가 오버플로우되거나 특정 문자 시퀀스로 인해 배열이 범위를 벗어날 수 있습니다.

MISRA C 코딩 표준이 도움이 될 수 있는 부분입니다.표준에서 제시하는 규칙, 지침 및 모범 사례를 통해 개발자는 임베디드 개발을 위한 안전하고 신뢰할 수 있는 C 코드를 작성할 수 있습니다.

표준의 최신 버전인 MISRA C 2012는 새로운 규칙을 추가하고 기존 규칙을 개선하며 일부 불일치를 해결합니다.여전히 이전 버전을 사용하고 있다면 지금이 전환하기에 좋은 시기입니다.

MISRA C 코딩 표준은 무엇입니까?

MISRA C 표준에는 C 프로그래밍 언어에 대한 코드 안전, 이식성 및 신뢰성 지침이 포함되어 있습니다.첫 번째 지침은 1998년에 발표되었으며 C 언어에만 해당되었습니다.

그러나 이후 MISRA 컨소시엄은 C++의 코딩 표준도 개발합니다.모든 MISRA C 문서에는 일련의 규칙, 규정 미준수 예제 및 해당 규칙의 개발에 기여한 배경 정보에 대한 세부 섹션이 포함되어 있습니다.

C와 C++은 임베디드 소프트웨어를 개발하는 데 가장 널리 사용되는 언어입니다.주된 이유 중 하나는 기계어에 비해 추상화 수준이 1~2단계밖에 되지 않아 속도가 빠르기 때문입니다.하지만 이는 특히 C로 안전한 코드를 작성하는 것이 어렵고 오류가 발생하기 쉽다는 의미이기도 합니다.예를 들어 Java 및 C #과 같은 대부분의 고급 언어에서는 가비지 컬렉션이나 동적 입력과 같은 사소한 일에 대해 걱정할 필요가 없습니다.

그러나 C에서는 가비지를 수집하는 사전 정의된 방법이 없습니다. 즉, 데이터 구조에 메모리를 할당하는 경우 사용을 마친 후에는 수동으로 데이터를 비워야 합니다.그렇지 않으면 다른 언어와 달리 C는 메모리를 자동으로 비워주지 않아 메모리 누수가 발생합니다.

MISRA C 2004 (C2) 대 MISRA C 2012 (C3) — 무엇이 바뀌었나요?

C3라고도 하는 MISRA C: 2012는 2013년 4월에 처음 출시되었습니다.C3에서는 수천 명의 사람들과 단체가 작업한 지식을 바탕으로 새로운 규칙을 추가하고, 일부 기존 규칙의 설명과 배경을 개선하고, 일부 허점을 없애 줍니다.

C3은 C99 버전의 언어를 지원하는 동시에 이전 ISO C90에 대한 규칙도 유지합니다.C3의 주요 주안점은 일반적인 규칙 적용 비용을 줄이는 동시에 중요한 시스템에서 C 언어를 더 안전하게 사용할 수 있도록 하는 것이었습니다.따라서 아직 새 표준으로 전환하지 않았다면 신중하게 새 표준으로 전환하는 것이 좋습니다.

전반적으로 가장 중요한 변경 사항은 다음과 같습니다.

  • 2004 버전에서 발견된 문제를 수정합니다.
  • 수를 대폭 늘리십시오 결정 가능한 규칙. 규칙은 결정할 수 있는, 분석 도구가 적합성을 판단하는 데 도움이 될 수 있는지 여부
  • 규칙은 “필수”, “권고” 또는 “필수”로 분류됩니다.어떤 상황에서도 필수 규칙을 어겨서는 안 됩니다.특별 시나리오에서는 위반이 정당하다면 필수 규칙 및 권고 규칙을 위반할 수 있습니다.
  • 자동 생성된 코드에 규칙을 적용하는 방법에 대한 지침이 추가되었습니다.이는 사람이 작성한 코드와 동일한 지침이 도구로 생성된 코드에 항상 적용되는 것은 아니기 때문에 매우 중요합니다.
  • 합리적인 사용자 행동을 금지하는 지나치게 일반화된 규칙을 삭제하세요.예를 들어 이전에는 매크로를 전혀 사용하지 않는 것이 좋습니다. 매크로를 디버그할 수 없거나 매크로에 네임스페이스가 없는 등 다양한 어려움과 혼란을 야기할 수 있기 때문입니다.따라서 우아하고 안전하며 편리한 솔루션을 제공할 수 있는 상황에서도 매크로를 사용할 수 없었습니다.MISRA C: 2012에서는 매크로에 관한 새로운 규칙이 도입되어 사람들이 필요할 때마다 매크로를 신중하게 사용할 수 있게 되었습니다.함수보다 매크로를 사용할 것을 권장하는 MISRA C 문서에서 발췌한 다음 내용을 참조하십시오.

MISRA C 규칙 적용 사례

이제 논의는 끝났으니, 이제 MISRA C 규칙의 적용 예와 함께 실습해 볼 차례입니다.

호환되는 유형을 memcpy, memmove 및 memcmp에 대한 포인터 인수로 사용

표준 라이브러리 함수 메모피, 메모무브, memcmp 지정된 바이트 수의 바이트별 이동 또는 비교를 수행합니다.MISRA C 2012 표준의 규칙 21.15에 따르면 두 함수 매개 변수는 동일한 유형에 대한 포인터여야 합니다.포인터 유형이 호환되지 않는 함수 호출은 실수를 의미할 수 있습니다.

공식 MISRA 규정 준수 문서에서 발췌한 다음 이미지를 고려해 보십시오.규칙은 다음과 같습니다. 필수, 결정 가능, C90과 C99 모두에 적용됩니다.

Captura de pantalla de la regla 21.15 de MISRA C

다음은 규칙 설명입니다.

Captura de pantalla de una solución no conforme.

보시다시피 객체의 유형이 서로 다르기 때문에 (uint8_t 및 uint16_t) 이는 규정을 준수하지 않는 솔루션입니다.

길이를 입력으로 사용하지 않는 문자열 처리 함수는 범위를 벗어난 액세스를 초래하지 않습니다.

<string.h>이 함수의 문자열 처리 함수는 길이를 입력으로 사용하지 않으므로 범위를 벗어난 액세스가 발생하지 않아야 합니다.관련 함수로는 strcat, strchr, strcmp, strcoll, strcpy, strcspn, strlen, strpbrk, strrchr, strspn, strstr 및 strtok이 있습니다.규칙은 다음과 같습니다. 필수, 즉, 어떤 상황에서도 절대 침해될 수 없습니다.C90과 C99 모두에 적용되며 다음과 같습니다. 결정할 수 없습니다.

Captura de pantalla de la regla 21.17 de MISRA C.

해당 예는 다음과 같습니다.

Captura de pantalla de un ejemplo correcto de funciones de manejo de cadenas

보시다시피 끈적끈적한 함수 f1에서는 5자만 포함할 수 있는 문자열의 길이를 초과하여 복사합니다.또한 strcpy를 규정을 준수하고 안전하게 사용하고 있습니다. strcpy에서는 “str”의 내용이 맞는 경우에만 문자열이 복사됩니다.

외부에서 수신한 데이터의 유효성을 검사합니다.

Dir 4.14는 “외부” 소스로부터 받은 데이터의 유효성을 검사할 것을 권장합니다.외부 입력은 다음과 같을 수 있습니다.

  • 파일에서 읽습니다.
  • 환경 변수에서 읽습니다.
  • 모든 사용자 입력.
  • 커뮤니케이션 채널을 통해 수신한 모든 것예: TCP 연결 또는 HTTP API 등을 통해

이 지침은 다음에 속합니다. 필수 카테고리이며 C90과 C99 모두에 적용됩니다.그 이유는 프로그램이 외부 소스에서 수신한 데이터를 제어할 수 없기 때문입니다. 즉, 해당 데이터가 유효하지 않거나 악의적일 수 있습니다.예를 들어 프로그램은 사용자가 숫자를 입력할 것으로 예상하지만 사용자가 문자열을 입력합니다.입력값을 처리하기 전에 프로그램은 해당 숫자가 실제로 숫자인지 확인해야 합니다.

Se comprobará la validez de los valores recibidos de fuentes externas

미스라 C 2012로 전환하는 방법

MISRA C 2012로 전환하려면 코딩 지침 문서를 업데이트해야 합니다.정적 분석 도구를 사용하지 않고 대신 정적 분석 도구 (권장 선택) 를 사용하는 경우 새 버전의 도구를 구해야 할 수 있습니다.다음은 MISRA C 2012 규정 준수를 확인하는 세 가지 도구입니다.

  1. Cppcheck MISRA 규칙을 확인하고 다양한 종류의 버그를 탐지할 수 있는 오픈 소스 도구입니다.
  2. PC-린트 플러스 30일의 평가 기간이 제공되는 유료 도구입니다.MISRA C 규정 준수를 확인하는 것 외에도 잠재적 버그 및 취약점을 식별하는 데도 도움이 됩니다.
  3. 코드소나 MISRA C 및 C++ 규정 준수를 모두 검사하는 또 다른 도구입니다.

MISRA 규정 준수를 테스트할 수 있는 컴파일러도 몇 가지 있습니다.규칙 위반이 감지되면 그에 따라 경고 또는 예외가 발생합니다.예: 그린 힐스 소프트웨어 32비트 및 64비트 아키텍처 모두에 대한 모든 MISRA 표준을 지원하는 컴파일러를 제공합니다.

시큐어 코드 워리어를 사용하여 MISRA C에서 개발자 기술 향상

Secure Code Warrior의 주력 제품인 학습 플랫폼에는 개발자가 안전한 C/C++ 코드를 작성하도록 교육하는 데 도움이 되는 수많은 대화형 과제, 과정 및 평가가 있습니다.플랫폼의 콘텐츠는 프레임워크에 특화되어 있으며 참여도가 매우 높습니다.C/C++: 임베드 코딩 과제는 MISRA C, AUTOSAR C++ (MISRA C++) 및 IEC에서 모두 영감을 받았습니다.

개발자는 C/C++ 관련 취약점을 식별하고 더 중요한 버그를 수정하는 방법을 배울 수 있는 맞춤형 학습 여정을 시작할 수 있습니다.이 과정에서 개발자는 진행 상황을 추적하여 약점을 찾아낼 수 있으며, 동료들과 함께 우호적인 코딩 대회를 즐길 수도 있습니다.에 대해 자세히 알아보십시오. 자동차 및 운송 산업을 지원하는 방법 우리의 솔루션과 함께.

우리의 과제가 얼마나 인터랙티브하고 임베디드 포커스인지 알고 싶으신가요?시도해 보세요 일부 C/C++:임베드 챌린지 오늘 학습 플랫폼에서!

Ver seminario web
Empezar
Más información

Haga clic en el siguiente enlace y descargue el PDF de este recurso.

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Ver informeReserva de demostración
Ver recursos
Destinatarios:
marcas de LinkedInSocialx logotipo
¿Le interesa saber más?

Destinatarios:
marcas de LinkedInSocialx logotipo
Autor
Secure Code Warrior
Publicado el 17 de agosto de 2021

Secure Code Warrior hace que la codificación segura sea una experiencia positiva y atractiva para los desarrolladores a medida que aumentan sus habilidades. Guiamos a cada programador a lo largo de su propio camino de aprendizaje, para que los desarrolladores con conocimientos de seguridad se conviertan en los superhéroes cotidianos de nuestro mundo conectado.

Este artículo fue escrito por Secure Code Warrior El equipo de expertos de la industria de está comprometido a brindar a los desarrolladores los conocimientos y las habilidades para crear software seguro desde el principio. Aprovechamos nuestra profunda experiencia en prácticas de codificación segura, tendencias de la industria y conocimientos del mundo real.

Destinatarios:
marcas de LinkedInSocialx logotipo

시큐어 코드 워리어에서는 항상 교육 범위를 확대하기 위해 노력하고 있습니다.임베디드 개발자와 보안 관리자가 안전한 임베디드 시스템을 구축할 수 있도록 지원하기 위해 임베디드 시스템 보안의 세계를 활용하고 있습니다.이 글에서는 MISRA C 2012 표준에 대해 알아보고 안전한 임베디드 시스템을 구축하기 위해 규정 준수가 필요한 이유에 대해 알아보겠습니다.

C로 코드를 작성할 때 겉보기에는 옳아 보이지만 본질적으로 잘못된 것을 구현하는 것은 매우 쉽습니다.코드는 잘 컴파일될 수 있고 심지어 일정 기간 동안에는 잘 실행될 수도 있습니다.하지만 입력 크기 및/또는 메모리가 커지면 동일한 코드가 충돌하거나 정의되지 않은 동작이 나타날 수 있습니다.예를 들어 특정 입력 숫자로 인해 정수가 오버플로우되거나 특정 문자 시퀀스로 인해 배열이 범위를 벗어날 수 있습니다.

MISRA C 코딩 표준이 도움이 될 수 있는 부분입니다.표준에서 제시하는 규칙, 지침 및 모범 사례를 통해 개발자는 임베디드 개발을 위한 안전하고 신뢰할 수 있는 C 코드를 작성할 수 있습니다.

표준의 최신 버전인 MISRA C 2012는 새로운 규칙을 추가하고 기존 규칙을 개선하며 일부 불일치를 해결합니다.여전히 이전 버전을 사용하고 있다면 지금이 전환하기에 좋은 시기입니다.

MISRA C 코딩 표준은 무엇입니까?

MISRA C 표준에는 C 프로그래밍 언어에 대한 코드 안전, 이식성 및 신뢰성 지침이 포함되어 있습니다.첫 번째 지침은 1998년에 발표되었으며 C 언어에만 해당되었습니다.

그러나 이후 MISRA 컨소시엄은 C++의 코딩 표준도 개발합니다.모든 MISRA C 문서에는 일련의 규칙, 규정 미준수 예제 및 해당 규칙의 개발에 기여한 배경 정보에 대한 세부 섹션이 포함되어 있습니다.

C와 C++은 임베디드 소프트웨어를 개발하는 데 가장 널리 사용되는 언어입니다.주된 이유 중 하나는 기계어에 비해 추상화 수준이 1~2단계밖에 되지 않아 속도가 빠르기 때문입니다.하지만 이는 특히 C로 안전한 코드를 작성하는 것이 어렵고 오류가 발생하기 쉽다는 의미이기도 합니다.예를 들어 Java 및 C #과 같은 대부분의 고급 언어에서는 가비지 컬렉션이나 동적 입력과 같은 사소한 일에 대해 걱정할 필요가 없습니다.

그러나 C에서는 가비지를 수집하는 사전 정의된 방법이 없습니다. 즉, 데이터 구조에 메모리를 할당하는 경우 사용을 마친 후에는 수동으로 데이터를 비워야 합니다.그렇지 않으면 다른 언어와 달리 C는 메모리를 자동으로 비워주지 않아 메모리 누수가 발생합니다.

MISRA C 2004 (C2) 대 MISRA C 2012 (C3) — 무엇이 바뀌었나요?

C3라고도 하는 MISRA C: 2012는 2013년 4월에 처음 출시되었습니다.C3에서는 수천 명의 사람들과 단체가 작업한 지식을 바탕으로 새로운 규칙을 추가하고, 일부 기존 규칙의 설명과 배경을 개선하고, 일부 허점을 없애 줍니다.

C3은 C99 버전의 언어를 지원하는 동시에 이전 ISO C90에 대한 규칙도 유지합니다.C3의 주요 주안점은 일반적인 규칙 적용 비용을 줄이는 동시에 중요한 시스템에서 C 언어를 더 안전하게 사용할 수 있도록 하는 것이었습니다.따라서 아직 새 표준으로 전환하지 않았다면 신중하게 새 표준으로 전환하는 것이 좋습니다.

전반적으로 가장 중요한 변경 사항은 다음과 같습니다.

  • 2004 버전에서 발견된 문제를 수정합니다.
  • 수를 대폭 늘리십시오 결정 가능한 규칙. 규칙은 결정할 수 있는, 분석 도구가 적합성을 판단하는 데 도움이 될 수 있는지 여부
  • 규칙은 “필수”, “권고” 또는 “필수”로 분류됩니다.어떤 상황에서도 필수 규칙을 어겨서는 안 됩니다.특별 시나리오에서는 위반이 정당하다면 필수 규칙 및 권고 규칙을 위반할 수 있습니다.
  • 자동 생성된 코드에 규칙을 적용하는 방법에 대한 지침이 추가되었습니다.이는 사람이 작성한 코드와 동일한 지침이 도구로 생성된 코드에 항상 적용되는 것은 아니기 때문에 매우 중요합니다.
  • 합리적인 사용자 행동을 금지하는 지나치게 일반화된 규칙을 삭제하세요.예를 들어 이전에는 매크로를 전혀 사용하지 않는 것이 좋습니다. 매크로를 디버그할 수 없거나 매크로에 네임스페이스가 없는 등 다양한 어려움과 혼란을 야기할 수 있기 때문입니다.따라서 우아하고 안전하며 편리한 솔루션을 제공할 수 있는 상황에서도 매크로를 사용할 수 없었습니다.MISRA C: 2012에서는 매크로에 관한 새로운 규칙이 도입되어 사람들이 필요할 때마다 매크로를 신중하게 사용할 수 있게 되었습니다.함수보다 매크로를 사용할 것을 권장하는 MISRA C 문서에서 발췌한 다음 내용을 참조하십시오.

MISRA C 규칙 적용 사례

이제 논의는 끝났으니, 이제 MISRA C 규칙의 적용 예와 함께 실습해 볼 차례입니다.

호환되는 유형을 memcpy, memmove 및 memcmp에 대한 포인터 인수로 사용

표준 라이브러리 함수 메모피, 메모무브, memcmp 지정된 바이트 수의 바이트별 이동 또는 비교를 수행합니다.MISRA C 2012 표준의 규칙 21.15에 따르면 두 함수 매개 변수는 동일한 유형에 대한 포인터여야 합니다.포인터 유형이 호환되지 않는 함수 호출은 실수를 의미할 수 있습니다.

공식 MISRA 규정 준수 문서에서 발췌한 다음 이미지를 고려해 보십시오.규칙은 다음과 같습니다. 필수, 결정 가능, C90과 C99 모두에 적용됩니다.

Captura de pantalla de la regla 21.15 de MISRA C

다음은 규칙 설명입니다.

Captura de pantalla de una solución no conforme.

보시다시피 객체의 유형이 서로 다르기 때문에 (uint8_t 및 uint16_t) 이는 규정을 준수하지 않는 솔루션입니다.

길이를 입력으로 사용하지 않는 문자열 처리 함수는 범위를 벗어난 액세스를 초래하지 않습니다.

<string.h>이 함수의 문자열 처리 함수는 길이를 입력으로 사용하지 않으므로 범위를 벗어난 액세스가 발생하지 않아야 합니다.관련 함수로는 strcat, strchr, strcmp, strcoll, strcpy, strcspn, strlen, strpbrk, strrchr, strspn, strstr 및 strtok이 있습니다.규칙은 다음과 같습니다. 필수, 즉, 어떤 상황에서도 절대 침해될 수 없습니다.C90과 C99 모두에 적용되며 다음과 같습니다. 결정할 수 없습니다.

Captura de pantalla de la regla 21.17 de MISRA C.

해당 예는 다음과 같습니다.

Captura de pantalla de un ejemplo correcto de funciones de manejo de cadenas

보시다시피 끈적끈적한 함수 f1에서는 5자만 포함할 수 있는 문자열의 길이를 초과하여 복사합니다.또한 strcpy를 규정을 준수하고 안전하게 사용하고 있습니다. strcpy에서는 “str”의 내용이 맞는 경우에만 문자열이 복사됩니다.

외부에서 수신한 데이터의 유효성을 검사합니다.

Dir 4.14는 “외부” 소스로부터 받은 데이터의 유효성을 검사할 것을 권장합니다.외부 입력은 다음과 같을 수 있습니다.

  • 파일에서 읽습니다.
  • 환경 변수에서 읽습니다.
  • 모든 사용자 입력.
  • 커뮤니케이션 채널을 통해 수신한 모든 것예: TCP 연결 또는 HTTP API 등을 통해

이 지침은 다음에 속합니다. 필수 카테고리이며 C90과 C99 모두에 적용됩니다.그 이유는 프로그램이 외부 소스에서 수신한 데이터를 제어할 수 없기 때문입니다. 즉, 해당 데이터가 유효하지 않거나 악의적일 수 있습니다.예를 들어 프로그램은 사용자가 숫자를 입력할 것으로 예상하지만 사용자가 문자열을 입력합니다.입력값을 처리하기 전에 프로그램은 해당 숫자가 실제로 숫자인지 확인해야 합니다.

Se comprobará la validez de los valores recibidos de fuentes externas

미스라 C 2012로 전환하는 방법

MISRA C 2012로 전환하려면 코딩 지침 문서를 업데이트해야 합니다.정적 분석 도구를 사용하지 않고 대신 정적 분석 도구 (권장 선택) 를 사용하는 경우 새 버전의 도구를 구해야 할 수 있습니다.다음은 MISRA C 2012 규정 준수를 확인하는 세 가지 도구입니다.

  1. Cppcheck MISRA 규칙을 확인하고 다양한 종류의 버그를 탐지할 수 있는 오픈 소스 도구입니다.
  2. PC-린트 플러스 30일의 평가 기간이 제공되는 유료 도구입니다.MISRA C 규정 준수를 확인하는 것 외에도 잠재적 버그 및 취약점을 식별하는 데도 도움이 됩니다.
  3. 코드소나 MISRA C 및 C++ 규정 준수를 모두 검사하는 또 다른 도구입니다.

MISRA 규정 준수를 테스트할 수 있는 컴파일러도 몇 가지 있습니다.규칙 위반이 감지되면 그에 따라 경고 또는 예외가 발생합니다.예: 그린 힐스 소프트웨어 32비트 및 64비트 아키텍처 모두에 대한 모든 MISRA 표준을 지원하는 컴파일러를 제공합니다.

시큐어 코드 워리어를 사용하여 MISRA C에서 개발자 기술 향상

Secure Code Warrior의 주력 제품인 학습 플랫폼에는 개발자가 안전한 C/C++ 코드를 작성하도록 교육하는 데 도움이 되는 수많은 대화형 과제, 과정 및 평가가 있습니다.플랫폼의 콘텐츠는 프레임워크에 특화되어 있으며 참여도가 매우 높습니다.C/C++: 임베드 코딩 과제는 MISRA C, AUTOSAR C++ (MISRA C++) 및 IEC에서 모두 영감을 받았습니다.

개발자는 C/C++ 관련 취약점을 식별하고 더 중요한 버그를 수정하는 방법을 배울 수 있는 맞춤형 학습 여정을 시작할 수 있습니다.이 과정에서 개발자는 진행 상황을 추적하여 약점을 찾아낼 수 있으며, 동료들과 함께 우호적인 코딩 대회를 즐길 수도 있습니다.에 대해 자세히 알아보십시오. 자동차 및 운송 산업을 지원하는 방법 우리의 솔루션과 함께.

우리의 과제가 얼마나 인터랙티브하고 임베디드 포커스인지 알고 싶으신가요?시도해 보세요 일부 C/C++:임베드 챌린지 오늘 학습 플랫폼에서!

Índice

Descargar PDF
Ver recursos
¿Le interesa saber más?

Secure Code Warrior hace que la codificación segura sea una experiencia positiva y atractiva para los desarrolladores a medida que aumentan sus habilidades. Guiamos a cada programador a lo largo de su propio camino de aprendizaje, para que los desarrolladores con conocimientos de seguridad se conviertan en los superhéroes cotidianos de nuestro mundo conectado.

Más información

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Reserva de demostraciónDescargar
Destinatarios:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos útiles para empezar

Más publicaciones
Centro de recursos

Recursos útiles para empezar

Más publicaciones