Secure development with C++ - Lessons and techniques - Helge Penne - NDC TechTown 2023

  Рет қаралды 698

NDC Conferences

NDC Conferences

7 ай бұрын

This talk was recorded at NDC Techtown in Kongsberg, Norway. #ndctechtown #ndcconferences #cplusplus #security #softwaredeveloper
Attend the next NDC conference near you:
ndcconferences.com
ndctechtown.com/
Subscribe to our KZbin channel and learn every day:
/‪@NDC‬
We will look at lessons learned through developing security products using C++.
Writing secure C++ code is hard. We will try to take a lesson from other industries where security is important and see what measures we can put in place to make our C++ code more secure.
We will talk about practical tools and techniques, language features to use and to avoid, fuzzers and sanitizers, hardening using compiler options, methodology, some UB to be aware of, and the general feasibility of using C++ where security is important.

Пікірлер: 1
@mogenshansen7210
@mogenshansen7210 7 ай бұрын
Thanks a lot for the presentation. It is really good and practical. I have been involved developing parts of safety critical safety critical systems in C++ for many. To various degrees (depending on the context) I have been doing and/or promoting most of what you are describing for years. There is one thing I don't fully agree on in your presentation, and that is the use of operator[] vs at(). If we assume that the system is not intended to try to do out-of-bounds access (like, we do not intensional use the exception thrown from at() to say terminate a loop), then regardsless of whether we use operator[] or at() we are by definition outside the scope of the intended state machine - we are executing a Weird Machine - if the program attempts to do out-of-bounds access. The question is: if we are in a unknown state, how can an exception be handled in such a way that garantees that we get back to a known state. I think that is impossible in general. The requirement must be that we get into a known state - which as described in the presentation may well be to terminate (and maybe restart) the application. Thus a reasonable implementation of operator[] could be to terminate the application in case of out-of-bounds access - which is well inside what is allowed from undefined behavior.
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 10 МЛН
Creator of git, Linus Torvalds Presents the Fundamentals of git
1:10:15
Developers Alliance
Рет қаралды 16 М.
Clean Architecture with NET 8
54:38
NimblePros
Рет қаралды 2,3 М.
The Next Decade of Software Development - Richard Campbell - NDC London 2023
1:07:05
Cybersecurity Experts NOW Recommending These Languages
7:51
Travis Media
Рет қаралды 17 М.
Why Isn't Functional Programming the Norm? - Richard Feldman
46:09
🚀  TDD, Where Did It All Go Wrong (Ian Cooper)
1:03:55
DevTernity Conference
Рет қаралды 553 М.
iPhone socket cleaning #Fixit
0:30
Tamar DB (mt)
Рет қаралды 9 МЛН
Самый дорогой кабель Apple
0:37
Romancev768
Рет қаралды 364 М.
Как слушать музыку с помощью чека?
0:36
Samsung Galaxy Unpacked July 2024: Official Replay
1:8:53
Samsung
Рет қаралды 23 МЛН