{"id":140018,"date":"2025-08-04T11:12:07","date_gmt":"2025-08-04T09:12:07","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-clang-namereny-dobavit-rezhim-usilennoj-bezopasnosti"},"modified":"2025-08-04T11:12:07","modified_gmt":"2025-08-04T09:12:07","slug":"v-clang-namereny-dobavit-rezhim-usilennoj-bezopasnosti","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/v-clang-namereny-dobavit-rezhim-usilennoj-bezopasnosti","title":{"rendered":"V Clang se pl\u00e1nuje p\u0159id\u00e1n\u00ed re\u017eimu zv\u00fd\u0161en\u00e9 bezpe\u010dnosti","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Aaron Ballman, hlavn\u00ed v\u00fdvoj\u00e1\u0159 Clang a \u010dlen pracovn\u00edch skupin pro standardy WG21 (C++) a WG14 (C), zah\u00e1jil diskuzi o p\u0159id\u00e1n\u00ed re\u017eimu zv\u00fd\u0161en\u00ed zabezpe\u010den\u00ed do kompil\u00e1toru Clang. Nov\u00fd re\u017eim umo\u017en\u00ed najednou aktivovat sadu mo\u017enost\u00ed pro zv\u00fd\u0161en\u00ed ochrany, podobn\u011b jako byla p\u0159id\u00e1na v GCC 14 vlajka '-fhardened', p\u0159i kter\u00e9 se aktivuj\u00ed mo\u017enosti '-D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -ftrivial-auto-var-init=zero -fPIE -pie -Wl,-z,relro,-z,now -fstack-protector-strong -fstack-clash-protection -fcf-protection=full'.     <\/p>\n<p>Upozor\u0148uje se, \u017ee v sou\u010dasn\u00e9 dob\u011b prob\u00edh\u00e1 pr\u00e1ce na p\u0159id\u00e1n\u00ed mo\u017enost\u00ed pro zv\u00fd\u0161en\u00ed bezpe\u010dnosti do standard\u016f C a C++, ale tento proces nen\u00ed rychl\u00fd, p\u0159i\u010dem\u017e v Clang ji\u017e jsou k dispozici jednotliv\u00e9 mo\u017enosti s realizac\u00ed dodate\u010dn\u00fdch ochrann\u00fdch mechanism\u016f. Implementovan\u00e9 metody ochrany \u010dasto vedou k r\u016fzn\u00fdm nekompatibilit\u00e1m se st\u00e1vaj\u00edc\u00edm k\u00f3dem nebo poru\u0161ov\u00e1n\u00ed ABI, co\u017e neumo\u017e\u0148uje jejich aktivaci ve v\u00fdchoz\u00edm nastaven\u00ed. Krom\u011b toho jsou podobn\u00e9 mo\u017enosti roztrou\u0161en\u00e9 (vlajky pro \u0159\u00edzen\u00ed kompilace, vlajky generov\u00e1n\u00ed strojov\u00fdch instrukc\u00ed v\u00e1zan\u00e9 na hardwarov\u00e9 architektury, varov\u00e1n\u00ed, diagnostick\u00e9 re\u017eimy, makra), \u0161patn\u011b zdokumentovan\u00e9 a vypad\u00e1vaj\u00ed z hled\u00e1\u010dku mnoha v\u00fdvoj\u00e1\u0159\u016f.       <\/p>\n<p>Jednotn\u00e9 nastaven\u00ed sjednocuje aktivaci souvisej\u00edc\u00edch bezpe\u010dnostn\u00edch mo\u017enost\u00ed a usnadn\u00ed jejich pou\u017eit\u00ed. Zva\u017euje se n\u011bkolik variant aktivace re\u017eimu zv\u00fd\u0161en\u00e9ho zabezpe\u010den\u00ed, nap\u0159\u00edklad se diskutuje aktivace p\u0159es vlajku '-fhardened', sadu nastaven\u00ed '--config=hardened', samostatn\u00fd ovlada\u010d (clang --driver-mode) nebo odd\u011blen\u00e9 mo\u017enosti '-fhardened, -mhardened a -Whardened', kter\u00e9 se v\u00e1\u017eou na kompilaci, generaci k\u00f3du a v\u00fdstup varov\u00e1n\u00ed. Re\u017eim m\u016f\u017ee pokr\u00fdt:  <\/p>\n<ul>\n<li class=\"l\"> Mo\u017enosti kompil\u00e1toru: -ftrivial-auto-var-init, -fPIE, -fcf-protection atd.\n<li class=\"l\"> Mo\u017enosti v\u00e1zan\u00e9 na generov\u00e1n\u00ed k\u00f3du pro c\u00edlov\u00e9 platformy: -mspeculative-load-hardening, -mlvi-hardening atd.\n<li class=\"l\"> Varov\u00e1n\u00ed: -Wall, -Wextra, -Werror=return-type atd.\n<li class=\"l\"> Re\u017eimy zv\u00fd\u0161en\u00ed bezpe\u010dnosti ve standardn\u00ed knihovn\u011b funkc\u00ed.\n<li class=\"l\"> Makra: _FORTIFY_SOURCE, _GLIBCXX_ASSERTIONS atd.\n<li class=\"l\"> Po\u017eadavek na explicitn\u00ed v\u00fdb\u011br pou\u017eit\u00e9ho standardu jazyka.\n<li class=\"l\"> Z\u00e1kaz kompilace k\u00f3du s pou\u017eit\u00edm zastaral\u00fdch standard\u016f C89 a C++98.\n<li class=\"l\"> P\u0159ed\u00e1n\u00ed dal\u0161\u00edch vlajek linkeru, nap\u0159\u00edklad pro aktivaci randomizace adres.  <\/ul>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=63675\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0410\u0430\u0440\u043e\u043d \u0411\u0430\u043b\u043b\u043c\u0430\u043d (Aaron Ballman), \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Clang \u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a \u043a\u043e\u043c\u0430\u043d\u0434 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 WG21 (C++) \u0438 WG14 (C), \u043d\u0430\u0447\u0430\u043b \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Clang \u0440\u0435\u0436\u0438\u043c\u0430 \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u041d\u043e\u0432\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0440\u0430\u0437\u043e\u043c \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0431\u043e\u0440 \u043e\u043f\u0446\u0438\u0439 \u0434\u043b\u044f \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0432 GCC 14 \u0444\u043b\u0430\u0433\u043e\u043c &#171;-fhardened&#187;, \u043f\u0440\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u043e\u043f\u0446\u0438\u0438 &#171;-D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -ftrivial-auto-var-init=zero -fPIE -pie [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-140018","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0410\u0430\u0440\u043e\u043d \u0411\u0430\u043b\u043b\u043c\u0430\u043d (Aaron Ballman), \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Clang \u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a \u043a\u043e\u043c\u0430\u043d\u0434 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 WG21 (C++) \u0438 WG14 (C), \u043d\u0430\u0447\u0430\u043b \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Clang \u0440\u0435\u0436\u0438\u043c\u0430 \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/v-clang-namereny-dobavit-rezhim-usilennoj-bezopasnosti\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412 Clang \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u0443\u0441\u0438\u043b\u0435\u043d\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0410\u0430\u0440\u043e\u043d \u0411\u0430\u043b\u043b\u043c\u0430\u043d (Aaron Ballman), \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Clang \u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a \u043a\u043e\u043c\u0430\u043d\u0434 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 WG21 (C++) \u0438 WG14 (C), \u043d\u0430\u0447\u0430\u043b \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Clang \u0440\u0435\u0436\u0438\u043c\u0430 \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/v-clang-namereny-dobavit-rezhim-usilennoj-bezopasnosti\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-08-04T09:12:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-08-04T09:12:07+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Clang pl\u00e1nuje p\u0159idat re\u017eim zv\u00fd\u0161en\u00e9 bezpe\u010dnosti | ProHoster","description":"Aaron Ballman, hlavn\u00ed vyv\u00edje\u010d kompil\u00e1toru Clang a \u00fa\u010dastn\u00edk v\u00fdvojov\u00fdch t\u00fdm\u016f standard\u016f WG21 (C++) a WG14 (C), zah\u00e1jil diskusi o p\u0159id\u00e1n\u00ed re\u017eimu zv\u00fd\u0161en\u00e9 bezpe\u010dnosti do kompil\u00e1toru Clang.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/v-clang-namereny-dobavit-rezhim-usilennoj-bezopasnosti","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412 Clang \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u0443\u0441\u0438\u043b\u0435\u043d\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 | ProHoster","og:description":"\u0410\u0430\u0440\u043e\u043d \u0411\u0430\u043b\u043b\u043c\u0430\u043d (Aaron Ballman), \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0438\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Clang \u0438 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a \u043a\u043e\u043c\u0430\u043d\u0434 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432 WG21 (C++) \u0438 WG14 (C), \u043d\u0430\u0447\u0430\u043b \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Clang \u0440\u0435\u0436\u0438\u043c\u0430 \u0443\u0441\u0438\u043b\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/v-clang-namereny-dobavit-rezhim-usilennoj-bezopasnosti","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-08-04T09:12:07+00:00","article:modified_time":"2025-08-04T09:12:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"140018","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 14:08:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 14:08:19","updated":"2026-01-23 14:08:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/140018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=140018"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/140018\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=140018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=140018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=140018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}