Close
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Subscribe
Logo
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Subscribe
    Home Applications
    • Applications
    • Cybersecurity
    • Development

    Still Overflowing After All These Years

    Written by

    Larry Seltzer
    Published September 15, 2008
    Share
    Facebook
    Twitter
    Linkedin

      eWEEK content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

      A lot of people at Microsoft must have been alternately angry and embarrassed last week at the details of MS08-052. This series of vulnerabilities in GDI+, the graphics core of Windows, had a decidedly retro look to it, as if it belonged to an advisory back in 2002, not 2008.

      The advisory describes five vulnerabilities in GDI+, which provides 2-D graphics, imaging and typography facilities in Windows. All five involve errors in buffers when GDI+ parses various data formats: VML, EMF, GIF, WMF and BMP. It appears from the Microsoft descriptions that there are different sorts of buffer abuse at issue; sometimes they use the word “overflow,” sometimes “overrun,” and sometimes the term “memory corruption” is used. I don’t believe any outside researchers have provided clarification yet, but it’s just a matter of time.

      Several things got me angry about these disclosures. First, many of these formats have a history of similar vulnerabilities over a period of many years. EMF and WMF stand out in particular. There was a famous zero-day exploit of WMF files at the end of 2005 that ruined many a New Year’s celebration. There have been other graphics bug roundups, such as this one from 2004. These were high-profile events at Microsoft and I’m sure that many talented people, including perhaps outside services, were put to work auditing this code for problems. And yet they persist.

      I happened to be meeting the other day with Steven Lipner, Microsoft’s senior director of Security Engineering Strategy, and put my frustration to him. He said he thought the number of potential overflows in this sort of code is immense. It may be that you can’t actually eliminate all possible overflows, especially on this sort of code. Code that interprets data structures transferred in from the outside is always exhibit A in the case of the overrun buffer.

      So even after years of serious world-class efforts at securing code that was obviously a top candidate for buffer errors, they’re still finding them. I’m discouraged.

      Of course, Microsoft is not alone in being hit by this old problem repeatedly. The very same day as MS08-052, Apple released numerous updates including one that fixed nine vulnerabilities in QuickTime. Depending on how you read the descriptions (which are about as vague as Microsoft’s) at least seven of them are the same sort of buffer nonsense as MS08-052. For instance “[A] heap buffer overflow exists in QuickTime’s handling of panorama atoms in QTVR (QuickTime Virtual Reality) movie files.” Other very old projects get similar disclosures, such as this stack overflow in the 20-year-old Ghostscript.

      And it’s not like they’re only throwing expertise at the problem. Many tools and programming practices have developed over the years at Microsoft and elsewhere to prevent buffer overflows or mitigate their effect. The granddaddy of these is StackGuard (the immunix.org StackGuard page never seems to respond), which pioneered the “stack canary” approach of putting special markers on a function stack and epilogue code to check its integrity, under the theory that a stack overflow will also overwrite the marker. Here’s the original paper from 10 years ago that introduced StackGuard. This approach has been widely copied, such as in the /GS switch in Microsoft’s Visual Studio (since 2003), and has eliminated the most straightforward of stack overflows from a lot of important programs.

      Stack and Heap Overflows: Different Animals

      Stack overflows and heap overflows are different animals. Heap overflows are much more subtle, but there are some dev tools for you to use. Microsoft’s David LeBlanc developed SafeInt class, a replacement integer class for which operators have been overwritten to force safe handling. (I always thought operator overriding was one of the stupider features of C++; this is the first compelling application I’ve seen of it.) There’s also an intsafe library for C development.

      But even with such safeguards in place, things can go wrong. Want a good example of how wrong things can go? Consider this US Cert alert that talks about how C compiler optimizations can end up “optimizing away” code inserted to detect and prevent overflows. The alert was inspired by an actual problem in gcc, but any optimizing compiler should be inspected for this sort of problem. In fact, LeBlanc was concerned enough to check how SafeInt was handled. I’m not clear from his blog if he had a problem or not, but I think not.

      People at Microsoft tell me that the vulnerabilities they’re finding these days, especially on old code, are very obscure and difficult to exploit. It’s true that the overall numbers and overall severity of vulnerabilities in Windows is way down from what it was in previous years. They never claimed that they could eliminate all vulnerabilities or even all overflows. These things will always be with us, and it’s a testament to how complicated software is these days that it can’t be completely secured.

      Security Center Editor Larry Seltzer has worked in and written about the computer industry since 1983.

      For insights on security coverage around the Web, take a look at eWEEK.com Security Center Editor Larry Seltzer’s blog Cheap Hack.

      Larry Seltzer
      Larry Seltzer
      Larry Seltzer has been writing software for and English about computers ever since—,much to his own amazement— He was one of the authors of NPL and NPL-R, fourth-generation languages for microcomputers by the now-defunct DeskTop Software Corporation. (Larry is sad to find absolutely no hits on any of these +products on Google.) His work at Desktop Software included programming the UCSD p-System, a virtual machine-based operating system with portable binaries that pre-dated Java by more than 10 years.For several years, he wrote corporate software for Mathematica Policy Research (they're still in business!) and Chase Econometrics (not so lucky) before being forcibly thrown into the consulting market. He bummed around the Philadelphia consulting and contract-programming scenes for a year or two before taking a job at NSTL (National Software Testing Labs) developing product tests and managing contract testing for the computer industry, governments and publication.In 1991 Larry moved to Massachusetts to become Technical Director of PC Week Labs (now eWeek Labs). He moved within Ziff Davis to New York in 1994 to run testing at Windows Sources. In 1995, he became Technical Director for Internet product testing at PC Magazine and stayed there till 1998.Since then, he has been writing for numerous other publications, including Fortune Small Business, Windows 2000 Magazine (now Windows and .NET Magazine), ZDNet and Sam Whitmore's Media Survey.

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      MOST POPULAR ARTICLES

      Artificial Intelligence

      9 Best AI 3D Generators You Need...

      Sam Rinko - June 25, 2024 0
      AI 3D Generators are powerful tools for many different industries. Discover the best AI 3D Generators, and learn which is best for your specific use case.
      Read more
      Cloud

      RingCentral Expands Its Collaboration Platform

      Zeus Kerravala - November 22, 2023 0
      RingCentral adds AI-enabled contact center and hybrid event products to its suite of collaboration services.
      Read more
      Artificial Intelligence

      8 Best AI Data Analytics Software &...

      Aminu Abdullahi - January 18, 2024 0
      Learn the top AI data analytics software to use. Compare AI data analytics solutions & features to make the best choice for your business.
      Read more
      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Video

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2024 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.